summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2011-01-18 21:27:30 +0000
committermichi_cc <michi_cc@openttd.org>2011-01-18 21:27:30 +0000
commit73da045f50ac7aa67ad9330e4671f1d49c6c340c (patch)
tree77c2f1c6eb638032869562e83f5ea43231e89cc3
parent561449992a943fe796ac1d0cb4f4126c108a266c (diff)
downloadopenttd-73da045f50ac7aa67ad9330e4671f1d49c6c340c.tar.xz
(svn r21839) -Change: Support tags created by git-svn for the revision detection.
-rwxr-xr-xfindversion.sh5
-rwxr-xr-xprojects/determineversion.vbs17
2 files changed, 20 insertions, 2 deletions
diff --git a/findversion.sh b/findversion.sh
index 89fc44b3c..94e48413e 100755
--- a/findversion.sh
+++ b/findversion.sh
@@ -99,6 +99,11 @@ elif [ -d "$ROOT_DIR/.git" ]; 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`
+ if [ -n "$TAG" ]; then
+ BRANCH=""
+ REV=$TAG
+ fi
elif [ -d "$ROOT_DIR/.hg" ]; then
# We are a hg checkout
if [ -n "`hg status | grep -v '^?'`" ]; then
diff --git a/projects/determineversion.vbs b/projects/determineversion.vbs
index 7fd9f3610..872ff7b0a 100755
--- a/projects/determineversion.vbs
+++ b/projects/determineversion.vbs
@@ -201,7 +201,7 @@ Function DetermineSVNVersion()
End If ' line <> "master"
End If ' Err.Number = 0
- Set oExec = WshShell.Exec("git log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1 ../")
+ Set oExec = WshShell.Exec("git log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1")
if Err.Number = 0 Then
revision = Mid(oExec.StdOut.ReadLine(), 7)
revision = Mid(revision, 1, InStr(revision, ")") - 1)
@@ -210,13 +210,26 @@ Function DetermineSVNVersion()
' No revision? Maybe it is a custom git-svn clone
' Reset error number as WshShell.Exec will not do that on success
Err.Clear
- Set oExec = WshShell.Exec("git log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1 ../")
+ Set oExec = WshShell.Exec("git log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1")
If Err.Number = 0 Then
revision = oExec.StdOut.ReadLine()
revision = Mid(revision, InStr(revision, "@") + 1)
revision = Mid(revision, 1, InStr(revision, " ") - 1)
End If ' Err.Number = 0
End If ' revision = ""
+
+ ' Check if a tag is currently checked out
+ Err.Clear
+ Set oExec = WshShell.Exec("git name-rev --name-only --tags --no-undefined HEAD")
+ If Err.Number = 0 Then
+ ' Wait till the application is finished ...
+ Do While oExec.Status = 0
+ Loop
+ If oExec.ExitCode = 0 Then
+ version = oExec.StdOut.ReadLine()
+ branch = ""
+ End If ' oExec.ExitCode = 0
+ End If ' Err.Number = 0
End If ' Err.Number = 0
End If ' oExec.ExitCode = 0
End If ' Err.Number = 0