--- a/genver.sh +++ b/genver.sh @@ -7,7 +7,20 @@ QUIET=0 fi -if ! `(git status | grep -q "On branch") 2> /dev/null`; then +if [ -d "$(realpath "$0" | sed -e 's,/[^/]*$,,')/.git" ]; then + if head=`git rev-parse --verify HEAD 2>/dev/null`; then + # generate the version info based on the tag + release=`(git describe --tags || git --describe || git describe --all --long) \ + 2>/dev/null | tr -d '\n'` + + # Are there uncommitted changes? + git update-index --refresh --unmerged > /dev/null + if git diff-index --name-only HEAD | grep -v "^scripts/package" \ + | read dummy; then + release="$release-dirty" + fi + fi +else # If we don't have git, we can't work out what # version this is. It must have been downloaded as a # zip file. @@ -25,18 +38,6 @@ fi fi -if head=`git rev-parse --verify HEAD 2>/dev/null`; then - # generate the version info based on the tag - release=`(git describe --tags || git --describe || git describe --all --long) \ - 2>/dev/null | tr -d '\n'` - - # Are there uncommitted changes? - git update-index --refresh --unmerged > /dev/null - if git diff-index --name-only HEAD | grep -v "^scripts/package" \ - | read dummy; then - release="$release-dirty" - fi -fi if [ $QUIET -ne 1 ]; then