aboutsummaryrefslogtreecommitdiff
path: root/gen-version.sh
diff refs
from:
to:
flip
diff options
context:
space:
mode:
Diffstat (limited to 'gen-version.sh')
-rwxr-xr-xgen-version.sh20
1 files changed, 3 insertions, 17 deletions
diff --git a/gen-version.sh b/gen-version.sh
index b493cf5..3a08015 100755
--- a/gen-version.sh
+++ b/gen-version.sh
@@ -3,24 +3,10 @@
# Get version-info specified in Makefile
V=$1
-# When building from a git repository, derive the version from the most recent
-# release tag instead. The result follows Semantic Versioning 2.0.0, using the
-# number of commits made since that tag as build metadata, so seven commits
-# after the v1.3.1 tag gives "v1.3.1+7", while a build of the tag itself gives
-# plain "v1.3.1". Release tags are expected to be named vMAJOR.MINOR.PATCH.
-if test "$(git rev-parse --git-dir 2>/dev/null)" = '.git'
+# Use `git describe` to get current version if we're inside a git repo
+if test -d .git
then
- tag=$(git describe --abbrev=0 --match 'v[0-9]*' HEAD 2>/dev/null)
- if test -n "$tag"
- then
- ahead=$(git rev-list --count "$tag..HEAD" 2>/dev/null)
- if test -n "$ahead" && test "$ahead" -gt 0
- then
- V="$tag+$ahead"
- else
- V="$tag"
- fi
- fi
+ V=$(git describe --abbrev=4 HEAD 2>/dev/null)
fi
new="CGIT_VERSION = $V"