mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
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>
This commit is contained in:
parent
78a28df938
commit
204d409247
|
@ -6,18 +6,19 @@ DEF_VER=v1.5.0.GIT
|
||||||
LF='
|
LF='
|
||||||
'
|
'
|
||||||
|
|
||||||
# First try git-describe, then see if there is a version file
|
# First see if there is a version file (included in release tarballs),
|
||||||
# (included in release tarballs), then default
|
# then try git-describe, then default.
|
||||||
if VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
|
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
|
case "$VN" in
|
||||||
*$LF*) (exit 1) ;;
|
*$LF*) (exit 1) ;;
|
||||||
v[0-9]*) : happy ;;
|
v[0-9]*) : happy ;;
|
||||||
esac
|
esac
|
||||||
then
|
then
|
||||||
VN=$(echo "$VN" | sed -e 's/-/./g');
|
VN=$(echo "$VN" | sed -e 's/-/./g');
|
||||||
elif test -f version
|
|
||||||
then
|
|
||||||
VN=$(cat version) || VN="$DEF_VER"
|
|
||||||
else
|
else
|
||||||
VN="$DEF_VER"
|
VN="$DEF_VER"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue