Revision 73c838e4c9437a0c41082c32a3a832aa385460a9 authored by Junio C Hamano on 08 January 2007, 10:08:47 UTC, committed by Junio C Hamano on 08 January 2007, 11:02:11 UTC
We used to say "you are not on a branch" before the initial commit. This is incorrect -- the user is on a branch yet to be born, but its name has been already determined. Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 6488610
GIT-VERSION-GEN
#!/bin/sh
GVF=GIT-VERSION-FILE
DEF_VER=v1.4.5-rc0.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
then
VN=$(cat version) || VN="$DEF_VER"
else
VN="$DEF_VER"
fi
VN=$(expr "$VN" : v*'\(.*\)')
dirty=$(sh -c 'git diff-index --name-only HEAD' 2>/dev/null) || dirty=
case "$dirty" in
'')
;;
*)
VN="$VN-dirty" ;;
esac
if test -r $GVF
then
VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
else
VC=unset
fi
test "$VN" = "$VC" || {
echo >&2 "GIT_VERSION = $VN"
echo "GIT_VERSION = $VN" >$GVF
}
Computing file changes ...