#!/bin/sh GVF=GIT-VERSION-FILE DEF_VER=v1.2.GIT # 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); then VN=$(echo "$VN" | sed -e 's/-/./g'); else VN=$(cat version) || 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 }