1getVersion() {
2 local dir="$1"
3 rev=
4 gitDir="$dir/.git"
5 if [ -e "$gitDir" ]; then
6 if [ -z "$(type -P git)" ]; then
7 echo "warning: Git not found; cannot figure out revision of $dir" >&2
8 return
9 fi
10 cd "$dir"
11 rev=$(git --git-dir="$gitDir" rev-parse --short HEAD)
12 if git --git-dir="$gitDir" describe --always --dirty | grep -q dirty; then
13 rev+=M
14 fi
15 fi
16}
17
18if nixpkgs=$(nix-instantiate --find-file nixpkgs "$@"); then
19 getVersion $nixpkgs
20 if [ -n "$rev" ]; then
21 echo ".git.$rev"
22 fi
23fi