diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/svnversion.sh | 32 |
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". | ||
15 | svnversion_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 | |||
13 | VERSIONFILE=docs/VERSION | 28 | VERSIONFILE=docs/VERSION |
14 | if [ -n "$1" ]; then TOP=$1; else TOP=..; fi | 29 | if [ -n "$1" ]; then TOP=$1; else TOP=..; fi |
15 | if [ -r $TOP/$VERSIONFILE ]; then SVNVER=`cat $TOP/$VERSIONFILE`; | 30 | if [ -r $TOP/$VERSIONFILE ]; then SVNVER=`cat $TOP/$VERSIONFILE`; |
16 | else if [ `which svnversion 2>/dev/null` ]; then | 31 | else |
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 |
31 | else SVNVER="unknown"; fi | ||
32 | fi | 38 | fi |
33 | VERSION=$SVNVER-`date -u +%y%m%d` | 39 | VERSION=$SVNVER-`date -u +%y%m%d` |
34 | echo $VERSION | 40 | echo $VERSION |