]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | ||
3 | GVF=GIT-VERSION-FILE | |
4 | DEF_VER=v2.22.0-rc0 | |
5 | ||
6 | LF=' | |
7 | ' | |
8 | ||
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 | |
12 | then | |
13 | VN=$(cat version) || VN="$DEF_VER" | |
14 | elif test -d ${GIT_DIR:-.git} -o -f .git && | |
15 | VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) && | |
16 | case "$VN" in | |
17 | *$LF*) (exit 1) ;; | |
18 | v[0-9]*) | |
19 | git update-index -q --refresh | |
20 | test -z "$(git diff-index --name-only HEAD --)" || | |
21 | VN="$VN-dirty" ;; | |
22 | esac | |
23 | then | |
24 | VN=$(echo "$VN" | sed -e 's/-/./g'); | |
25 | else | |
26 | VN="$DEF_VER" | |
27 | fi | |
28 | ||
29 | VN=$(expr "$VN" : v*'\(.*\)') | |
30 | ||
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 | } |