'
# First see if there is a version file (included in release tarballs),
-# then try git-describe, then default.
+# then try git-describe, then gitweb, then default.
if [[ -f VERSION ]]; then
VN=$(cat VERSION) || VN="$DEF_VER"
elif [[ -d .git || -f .git ]] &&
case "$VN" in
*$LF*) (exit 1) ;;
v[0-9]*)
- git update-index -q --refresh
+ git update-index -q --refresh &>/dev/null
test -z "$(git diff-index --name-only HEAD --)" ||
VN="$VN-dirty" ;;
esac
then
VN=$(echo "$VN" | sed -e 's/-/./g');
+elif [[ "$PWD" =~ paraslash-[a-f0-9]{1,} ]]; then
+ VN="${PWD#*-}"
else
VN="$DEF_VER"
fi
[[ -z "$GVF" ]] && exit 0
if [[ -r "$GVF" ]]; then
- VC=$(sed -e 's/^#define GIT_VERSION "//; s/"$//' < "$GVF")
+ pattern='^#define GIT_VERSION "'
+ VC=$(grep "$pattern" < "$GVF" | sed -e "s/$pattern//; s/\"$//")
[[ "$VN" == "$VC" ]] && exit 0
fi
echo >&2 "new git version: $VN"
-echo "#define GIT_VERSION \"$VN\"" >$GVF
+echo "/** \\file ${GVF##*/} Auto-generated version file. Do not edit. */" >$GVF
+echo "#define GIT_VERSION \"$VN\"" >> $GVF