No functional changes. Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- I sent this patch a long time ago and nobody saw any problem with it other than a minor nit of using an if instead of an early exit. https://lore.kernel.org/git/1381561628-20665-2-git-send-email-felipe.contreras@xxxxxxxxx/ GIT-VERSION-GEN | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 9c125f298a..60e0f8c6d2 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -6,22 +6,29 @@ DEF_VER=v2.32.0 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_DIR:-.git} -o -f .git && - VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) && +describe () { + VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) || return 1 case "$VN" in - *$LF*) (exit 1) ;; + *$LF*) + return 1 + ;; v[0-9]*) git update-index -q --refresh test -z "$(git diff-index --name-only HEAD --)" || - VN="$VN-dirty" ;; + VN="$VN-dirty" + return 0 + ;; esac +} + +# First see if there is a version file (included in release tarballs), +# then try 'git describe', then default. +if test -f version then - VN=$(echo "$VN" | sed -e 's/-/./g'); + VN=$(cat version) || VN="$DEF_VER" +elif test -d ${GIT_DIR:-.git} -o -f .git && describe +then + VN=$(echo "$VN" | sed -e 's/-/./g') else VN="$DEF_VER" fi @@ -34,7 +41,6 @@ then else VC=unset fi -test "$VN" = "$VC" || { - echo >&2 "GIT_VERSION = $VN" - echo "GIT_VERSION = $VN" >$GVF -} +test "$VN" = "$VC" && exit +echo >&2 "GIT_VERSION = $VN" +echo "GIT_VERSION = $VN" >$GVF -- 2.32.0