36 lines
982 B
Bash
36 lines
982 B
Bash
|
#!/bin/bash
|
||
|
#
|
||
|
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
#
|
||
|
# Generate version information
|
||
|
|
||
|
if ghash=$(git rev-parse --short --verify HEAD 2>/dev/null); then
|
||
|
if gdesc=$(git describe --dirty --match='v*' 2>/dev/null); then
|
||
|
IFS="-" fields=($gdesc)
|
||
|
tag="${fields[0]}"
|
||
|
IFS="." vernum=($tag)
|
||
|
numcommits=$((${vernum[2]}+${fields[1]:-0}))
|
||
|
ver_major="${vernum[0]}"
|
||
|
ver_branch="${vernum[1]}"
|
||
|
else
|
||
|
numcommits=$(git rev-list HEAD | wc -l)
|
||
|
ver_major="v0"
|
||
|
ver_branch="0"
|
||
|
fi
|
||
|
# avoid putting the -dirty attribute if only the timestamp
|
||
|
# changed
|
||
|
git status > /dev/null 2>&1
|
||
|
|
||
|
dirty=$(sh -c "[ '$(git diff-index --name-only HEAD)' ] \
|
||
|
&& echo '-dirty'")
|
||
|
ver="${ver_major}.${ver_branch}.${numcommits}-${ghash}${dirty}"
|
||
|
else
|
||
|
ver="unknown"
|
||
|
fi
|
||
|
|
||
|
date=$(date '+%F %T')
|
||
|
|
||
|
echo "const char futility_version[] = \"${ver} ${date} ${USER}\";";
|