summaryrefslogtreecommitdiffstats
path: root/version.sh
diff options
context:
space:
mode:
Diffstat (limited to 'version.sh')
-rwxr-xr-xversion.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/version.sh b/version.sh
index 026e51c60d..6a77cc415d 100755
--- a/version.sh
+++ b/version.sh
@@ -1,7 +1,12 @@
#!/bin/sh
-revision=r`grep revision .svn/entries | cut -d '"' -f 2 2> /dev/null`
-
test "$1" && extra="-$1"
-echo "#define VERSION \"dev-SVN-${revision}${extra}\"" > version.h
+svn_revision=`svn info | grep Revision | cut -d' ' -f2 || echo UNKNOWN`
+NEW_REVISION="#define VERSION \"dev-SVN-r${svn_revision}${extra}\""
+OLD_REVISION=`cat version.h 2> /dev/null`
+
+# Update version.h only on revision changes to avoid spurious rebuilds
+if test "$NEW_REVISION" != "$OLD_REVISION"; then
+ echo "$NEW_REVISION" > version.h
+fi