diff options
Diffstat (limited to 'GIT-VERSION-GEN')
-rwxr-xr-x | GIT-VERSION-GEN | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index d6d1ae0338..d0ec749e9a 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,29 +1,33 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.2.GIT +DEF_VER=v1.7.7.4 -# First try git-describe, then see if there is a version file -# (included in release tarballs), then default -if VN=$(git-describe --abbrev=4 HEAD 2>/dev/null); then - VN=$(echo "$VN" | sed -e 's/-/./g'); -elif test -f version +LF=' +' + +# First see if there is a version file (included in release tarballs), +# then try git-describe, then default. +if test -f version then VN=$(cat version) || VN="$DEF_VER" +elif test -d .git -o -f .git && + VN=$(git describe --match "v[0-9]*" --abbrev=4 HEAD 2>/dev/null) && + case "$VN" in + *$LF*) (exit 1) ;; + v[0-9]*) + git update-index -q --refresh + test -z "$(git diff-index --name-only HEAD --)" || + VN="$VN-dirty" ;; + esac +then + VN=$(echo "$VN" | sed -e 's/-/./g'); else VN="$DEF_VER" fi VN=$(expr "$VN" : v*'\(.*\)') -dirty=$(sh -c 'git-diff-index --name-only HEAD' 2>/dev/null) || dirty= -case "$dirty" in -'') - ;; -*) - VN="$VN-dirty" ;; -esac - if test -r $GVF then VC=$(sed -e 's/^GIT_VERSION = //' <$GVF) |