Diffstat (limited to 'gen-version.sh')
| -rwxr-xr-x | gen-version.sh | 20 |
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" |