From 22922414eb3d37a35c4446de39db52420ab2f05d Mon Sep 17 00:00:00 2001 From: michi_cc Date: Wed, 19 Jan 2011 17:10:52 +0000 Subject: (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. --- findversion.sh | 14 +++++++------- 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 -- cgit v1.2.3-54-g00ecf