diff options
author | michi_cc <michi_cc@openttd.org> | 2011-01-19 17:10:52 +0000 |
---|---|---|
committer | michi_cc <michi_cc@openttd.org> | 2011-01-19 17:10:52 +0000 |
commit | 22922414eb3d37a35c4446de39db52420ab2f05d (patch) | |
tree | 2c03367e04529b1b6d14e4ce952ee28791a00fcc | |
parent | 3f9fa65a42e0a3370a2204a7c0ce570c7476361d (diff) | |
download | openttd-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-x | findversion.sh | 14 | ||||
-rwxr-xr-x | projects/determineversion.vbs | 4 |
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 |