aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-02-14 11:33:04 -0800
committerJunio C Hamano <junkio@cox.net>2007-02-14 15:25:27 -0800
commit204d409247e7bbc7848569462aa11a87e373c8d6 (patch)
treeea0f8c8c22a2edb43c80b95335b5824d43744047
parent78a28df9388cccb1ec85aa5642808f0d3392155f (diff)
downloadgit-204d409247e7bbc7848569462aa11a87e373c8d6.tar.gz
git-204d409247e7bbc7848569462aa11a87e373c8d6.tar.xz
GIT-VERSION-FILE: check ./version first.
When somebody else extracts git tarball inside a larger project, 'git describe' would reported the version number of that upper level project. Sometimes, using the consistent versioning across subdirectories of a larger project is useful, but it may not always be the right thing to do. This changes the script to check ./vertion file first, and then fall back to "git describe". This way, by default, tarball distribution will get our own version. If the upper level wants to use consistent versioning across its subdirectories, its Makefile can overwrite ./version file to force whatever version number they want to give us before descending into us. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xGIT-VERSION-GEN21
1 files changed, 11 insertions, 10 deletions
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index febacd2dc..6abde8d7b 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -6,18 +6,19 @@ DEF_VER=v1.5.0.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) &&
- case "$VN" in
- *$LF*) (exit 1) ;;
- v[0-9]*) : happy ;;
- esac
-then
- VN=$(echo "$VN" | sed -e 's/-/./g');
-elif test -f version
+# 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 &&
+ 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');
else
VN="$DEF_VER"
fi