summaryrefslogtreecommitdiff
path: root/GIT-VERSION-GEN
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-08-08 13:11:16 -0700
committerJunio C Hamano <junkio@cox.net>2006-08-08 13:20:18 -0700
commitc96c29093f70f04e01ff1d3a9c1d509ef6afdb00 (patch)
treed06fa2b082679d2a17a18e087f1e93804bc8c7c1 /GIT-VERSION-GEN
parent329a304714255f6e5528b4311d29f9d83c85d201 (diff)
downloadgit-c96c29093f70f04e01ff1d3a9c1d509ef6afdb00.tar.gz
GIT-VERSION-GEN: adjust for ancient git
When an ancient "git" that does not understand "describe" command is on the $PATH, "git describe" emitted a Usage message without exiting non-zero status (which is a mistake we cannot fix retroactively). Catch this case to make sure we do not try using phoney multi-line string as a version number. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'GIT-VERSION-GEN')
-rwxr-xr-xGIT-VERSION-GEN10
1 files changed, 9 insertions, 1 deletions
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 1ce217dd7b..14923c973b 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -3,9 +3,17 @@
GVF=GIT-VERSION-FILE
DEF_VER=v1.4.2.GIT
+LF='
+'
+
# 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
+if VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
+ case "$VN" in
+ *$LF*) (exit 1) ;;
+ v[0-9]*) : happy ;;
+ esac
+then
VN=$(echo "$VN" | sed -e 's/-/./g');
elif test -f version
then