Junio C Hamano | 9b88fce | 2005-12-27 14:40:17 -0800 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | GVF=GIT-VERSION-FILE |
Junio C Hamano | 5f95c9f | 2014-02-14 11:35:04 -0800 | [diff] [blame] | 4 | DEF_VER=v1.9.0 |
Junio C Hamano | 9b88fce | 2005-12-27 14:40:17 -0800 | [diff] [blame] | 5 | |
Junio C Hamano | c96c290 | 2006-08-08 13:11:16 -0700 | [diff] [blame] | 6 | LF=' |
| 7 | ' |
| 8 | |
Junio C Hamano | 204d409 | 2007-02-14 11:33:04 -0800 | [diff] [blame] | 9 | # First see if there is a version file (included in release tarballs), |
| 10 | # then try git-describe, then default. |
| 11 | if test -f version |
Junio C Hamano | 0b8b051 | 2006-03-02 14:38:44 -0800 | [diff] [blame] | 12 | then |
Uwe Zeisberger | 374dfaa | 2006-01-26 17:39:27 +0100 | [diff] [blame] | 13 | VN=$(cat version) || VN="$DEF_VER" |
Dennis Kaarsemaker | 05a9506 | 2013-06-16 01:01:11 +0200 | [diff] [blame] | 14 | elif test -d ${GIT_DIR:-.git} -o -f .git && |
Junio C Hamano | bf50515 | 2012-05-01 21:18:44 -0700 | [diff] [blame] | 15 | VN=$(git describe --match "v[0-9]*" --abbrev=7 HEAD 2>/dev/null) && |
Junio C Hamano | 204d409 | 2007-02-14 11:33:04 -0800 | [diff] [blame] | 16 | case "$VN" in |
| 17 | *$LF*) (exit 1) ;; |
Junio C Hamano | e5fc9a0 | 2008-02-16 22:44:31 -0800 | [diff] [blame] | 18 | v[0-9]*) |
Junio C Hamano | b13d440 | 2008-08-08 13:31:27 -0700 | [diff] [blame] | 19 | git update-index -q --refresh |
Lea Wiemann | 935e247 | 2008-06-28 19:13:29 +0200 | [diff] [blame] | 20 | test -z "$(git diff-index --name-only HEAD --)" || |
Junio C Hamano | 31e0b2c | 2008-02-23 11:31:04 -0800 | [diff] [blame] | 21 | VN="$VN-dirty" ;; |
Junio C Hamano | 204d409 | 2007-02-14 11:33:04 -0800 | [diff] [blame] | 22 | esac |
| 23 | then |
| 24 | VN=$(echo "$VN" | sed -e 's/-/./g'); |
Junio C Hamano | 0b8b051 | 2006-03-02 14:38:44 -0800 | [diff] [blame] | 25 | else |
| 26 | VN="$DEF_VER" |
Uwe Zeisberger | 374dfaa | 2006-01-26 17:39:27 +0100 | [diff] [blame] | 27 | fi |
H. Peter Anvin | 181129d | 2006-01-09 18:07:01 -0800 | [diff] [blame] | 28 | |
| 29 | VN=$(expr "$VN" : v*'\(.*\)') |
Junio C Hamano | eb858c6 | 2006-01-09 14:25:10 -0800 | [diff] [blame] | 30 | |
Junio C Hamano | 9b88fce | 2005-12-27 14:40:17 -0800 | [diff] [blame] | 31 | if test -r $GVF |
| 32 | then |
| 33 | VC=$(sed -e 's/^GIT_VERSION = //' <$GVF) |
| 34 | else |
| 35 | VC=unset |
| 36 | fi |
| 37 | test "$VN" = "$VC" || { |
| 38 | echo >&2 "GIT_VERSION = $VN" |
| 39 | echo "GIT_VERSION = $VN" >$GVF |
| 40 | } |
| 41 | |
| 42 | |