summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/svnversion.sh32
1 files changed, 19 insertions, 13 deletions
diff --git a/tools/svnversion.sh b/tools/svnversion.sh
index f30d4193eb..1744e98c6e 100755
--- a/tools/svnversion.sh
+++ b/tools/svnversion.sh
@@ -10,25 +10,31 @@
10 10
11# Usage: svnversion.sh [source-root] 11# Usage: svnversion.sh [source-root]
12 12
13# Prints the revision "rXYZ" of the first argument, as reported by svnversion.
14# Prints "unknown" if svnversion fails or says "exported".
15svnversion_safe() {
16 # LANG=C forces svnversion to not localize "exported".
17 if OUTPUT=`LANG=C svnversion "$@"`; then
18 if [ "$OUTPUT" = "exported" ]; then
19 echo "unknown"
20 else
21 echo "r$OUTPUT"
22 fi
23 else
24 echo "unknown"
25 fi
26}
27
13VERSIONFILE=docs/VERSION 28VERSIONFILE=docs/VERSION
14if [ -n "$1" ]; then TOP=$1; else TOP=..; fi 29if [ -n "$1" ]; then TOP=$1; else TOP=..; fi
15if [ -r $TOP/$VERSIONFILE ]; then SVNVER=`cat $TOP/$VERSIONFILE`; 30if [ -r $TOP/$VERSIONFILE ]; then SVNVER=`cat $TOP/$VERSIONFILE`;
16else if [ `which svnversion 2>/dev/null` ]; then 31else
17 SVNALT=`svnversion $1`; 32 SVNVER=`svnversion_safe $TOP`;
18 if [ "$SVNALT" = "exported" ]; then 33 if [ "$SVNVER" = "unknown" ]; then
19 # try getting it from a subdir to test if perhaps they are symlinked 34 # try getting it from a subdir to test if perhaps they are symlinked
20 # from the root 35 # from the root
21 SVNALT=`svnversion $1/tools` 36 SVNVER=`svnversion_safe $TOP/tools`;
22 if [ "$SVNALT" != exported ]; then
23 # yeah, it is there so we use this
24 SVNVER="r$SVNALT"
25 else
26 SVNALT="unknown";
27 fi
28 else
29 SVNVER="r$SVNALT";
30 fi 37 fi
31else SVNVER="unknown"; fi
32fi 38fi
33VERSION=$SVNVER-`date -u +%y%m%d` 39VERSION=$SVNVER-`date -u +%y%m%d`
34echo $VERSION 40echo $VERSION