@@ -6,20 +6,27 @@ DEF_VER=v2.40.GIT
LF='
'
+describe () {
+ VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) || return 1
+ case "$VN" in
+ *$LF*)
+ return 1
+ ;;
+ v[0-9]*)
+ git update-index -q --refresh
+ test -z "$(git diff-index --name-only HEAD --)" ||
+ 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=$(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) &&
- 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
+elif test -d ${GIT_DIR:-.git} -o -f .git && describe
then
VN=$(echo "$VN" | sed -e 's/-/./g');
else
Simply move some code into a `describe` function so it's clear what code is related to dealing with `git describe`, and what code is the main functionality. No functional changes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- GIT-VERSION-GEN | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-)