gitrev.sh: search harder for the git dir
[dragonfly.git] / tools / gitrev.sh
1 #!/bin/sh
2
3 srcdir=${1:-$(dirname $0)}
4
5 [ -n "$srcdir" ] && cd "$srcdir"
6
7 if ! which git >/dev/null 2>&1 ||
8         ! cd "$(dirname "$0")" ||
9         ! git rev-parse --git-dir >/dev/null 2>&1
10 then
11         # XXX get version from newvers.sh?
12         echo "unknown"
13         exit 0
14 fi
15
16 v=$(git describe --abbrev=4 HEAD 2>/dev/null || git rev-parse --short HEAD)
17 git update-index -q --refresh
18 [ -z "$(git diff-index --name-only HEAD --)" ] || v="$v-dirty"
19
20 v=$(echo "$v" | sed -e 's/-/./g;s/^v//;')
21
22 echo "$v"
23 exit 0