summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2011-01-19 17:10:52 +0000
committermichi_cc <michi_cc@openttd.org>2011-01-19 17:10:52 +0000
commit22922414eb3d37a35c4446de39db52420ab2f05d (patch)
tree2c03367e04529b1b6d14e4ce952ee28791a00fcc
parent3f9fa65a42e0a3370a2204a7c0ce570c7476361d (diff)
downloadopenttd-22922414eb3d37a35c4446de39db52420ab2f05d.tar.xz
(svn r21856) -Fix (r21840): Don't fail tag detection on hg repositories that use mercurial queues. Add some safety against tags and branches with spaces as well.
-rwxr-xr-xfindversion.sh14
-rwxr-xr-xprojects/determineversion.vbs4
2 files changed, 9 insertions, 9 deletions
diff --git a/findversion.sh b/findversion.sh
index 2e542cae4..3c935538c 100755
--- a/findversion.sh
+++ b/findversion.sh
@@ -93,16 +93,16 @@ elif [ -d "$ROOT_DIR/.git" ]; then
fi
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
REV="g`echo $HASH | cut -c1-8`"
- BRANCH=`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@;s@^master$@@'`
+ BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@;s@^master$@@'`"
REV_NR=`LC_ALL=C git log --pretty=format:%s --grep="^(svn r[0-9]*)" -1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
if [ -z "$REV_NR" ]; then
# No rev? Maybe it is a custom git-svn clone
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
fi
- TAG=`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null`
+ TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null`"
if [ -n "$TAG" ]; then
BRANCH=""
- REV=$TAG
+ REV="$TAG"
fi
elif [ -d "$ROOT_DIR/.hg" ]; then
# We are a hg checkout
@@ -111,11 +111,11 @@ elif [ -d "$ROOT_DIR/.hg" ]; then
fi
HASH=`LC_ALL=C hg id -i | cut -c1-12`
REV="h`echo $HASH | cut -c1-8`"
- BRANCH=`hg branch | sed 's@^default$@@'`
- TAG=`hg id -t`
- if [ -n "$TAG" ] && [ $TAG != "tip" ]; then
+ BRANCH="`hg branch | sed 's@^default$@@'`"
+ TAG="`hg id -t | grep -v 'tip$'`"
+ if [ -n "$TAG" ]; then
BRANCH=""
- REV=$TAG
+ REV="$TAG"
fi
REV_NR=`LC_ALL=C hg log -f -k "(svn r" -l 1 --template "{desc}\n" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
diff --git a/projects/determineversion.vbs b/projects/determineversion.vbs
index 9b159785c..097282bfd 100755
--- a/projects/determineversion.vbs
+++ b/projects/determineversion.vbs
@@ -253,10 +253,10 @@ Function DetermineSVNVersion()
Set oExec = WshShell.Exec("hg id -t")
If Err.Number = 0 Then
line = oExec.StdOut.ReadLine()
- If Len(line) > 0 And line <> "tip" Then
+ If Len(line) > 0 And Right(line, 3) <> "tip" Then
version = line
branch = ""
- End If ' Len(line) > 0 And line <> "tip"
+ End If ' Len(line) > 0 And Right(line, 3) <> "tip"
End If ' Err.Number = 0
Err.Clear