summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml25
-rwxr-xr-xtools/get-git-svn-rev28
-rwxr-xr-xtools/get-scala-revision29
3 files changed, 59 insertions, 23 deletions
diff --git a/build.xml b/build.xml
index e7d4fad6c5..f5b3571994 100644
--- a/build.xml
+++ b/build.xml
@@ -221,27 +221,10 @@ INITIALISATION
<condition property="os.win">
<os family="windows"/>
</condition>
- <!-- Finding out SVN revision, svn style -->
- <exec executable="svn" outputproperty="svn.out"
- failifexecutionfails="false">
- <arg line=" info ${basedir}"/>
- </exec>
- <propertyregex
- property="svn.number.svn" input="${svn.out}" select="\1"
- regexp="Revision: ([0-9]+)"
- defaultValue="0"/>
-
- <!-- Both clauses of the conditional set svn.number -->
- <if>
- <equals arg1="${svn.number.svn}" arg2="0" />
- <then>
- <!-- Finding SVN revision, git style -->
- <exec osfamily="unix" executable="tools/get-git-svn-rev" outputproperty="svn.number" failifexecutionfails="false" />
- </then>
- <else>
- <property name="svn.number" value="${svn.number.svn}" />
- </else>
- </if>
+
+ <exec osfamily="unix" executable="tools/get-scala-revision" outputproperty="svn.number" failifexecutionfails="false" />
+ <!-- some default in case something went wrong getting the revision -->
+ <property name="svn.number" value="0"/>
<property name="init.avail" value="yes"/>
diff --git a/tools/get-git-svn-rev b/tools/get-git-svn-rev
index 283b4141fe..0fa020de95 100755
--- a/tools/get-git-svn-rev
+++ b/tools/get-git-svn-rev
@@ -1,5 +1,29 @@
#!/bin/sh
#
+# Usage: get-scala-rev [dir]
+# Figures out current scala revision of an svn checkout or
+# a git-svn mirror (or a git clone.)
+#
+# If no dir is given, current working dir is used.
+
+DIR=""
+if [[ $# -eq 0 ]]; then
+ DIR=`pwd`
+else
+ DIR=$1
+fi
+
+builtin cd $DIR
-GIT_PAGER=cat
-git log -10 | grep git-svn-id | head -1 | sed 's/[^@]*@\([0-9]*\).*/\1/' \ No newline at end of file
+if [[ -d .svn ]]; then
+ svn info . | grep ^Revision | sed 's/Revision: //'
+elif [[ -d .git ]]; then
+ GIT_PAGER=cat
+ # this grabs more than one line because otherwise if you have local
+ # commits which aren't in git-svn it won't see any revision.
+ git log -10 | grep git-svn-id | head -1 | sed 's/[^@]*@\([0-9]*\).*/\1/'
+else
+ echo "${DIR} doesn't appear to be git or svn dir." >&2
+ echo 0
+ exit 1
+fi
diff --git a/tools/get-scala-revision b/tools/get-scala-revision
new file mode 100755
index 0000000000..0fa020de95
--- /dev/null
+++ b/tools/get-scala-revision
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Usage: get-scala-rev [dir]
+# Figures out current scala revision of an svn checkout or
+# a git-svn mirror (or a git clone.)
+#
+# If no dir is given, current working dir is used.
+
+DIR=""
+if [[ $# -eq 0 ]]; then
+ DIR=`pwd`
+else
+ DIR=$1
+fi
+
+builtin cd $DIR
+
+if [[ -d .svn ]]; then
+ svn info . | grep ^Revision | sed 's/Revision: //'
+elif [[ -d .git ]]; then
+ GIT_PAGER=cat
+ # this grabs more than one line because otherwise if you have local
+ # commits which aren't in git-svn it won't see any revision.
+ git log -10 | grep git-svn-id | head -1 | sed 's/[^@]*@\([0-9]*\).*/\1/'
+else
+ echo "${DIR} doesn't appear to be git or svn dir." >&2
+ echo 0
+ exit 1
+fi