altosdroid: match only the current version tag
authorMike Beattie <mike@ethernal.org>
Tue, 23 Oct 2012 06:22:52 +0000 (19:22 +1300)
committerMike Beattie <mike@ethernal.org>
Tue, 23 Oct 2012 06:30:43 +0000 (19:30 +1300)
Don't match non version tags - and always return the long format of
git describe, rather than just the tag (when the tag is on the current
commit).

Split the commit number/hash more reliably by removing the version tag
from the result first.

Signed-off-by: Mike Beattie <mike@ethernal.org>
altosdroid/buildinfo.sh

index f620c4a0f0819b1787f2f122d519840b69999f58..781b251bc6ecb4489915f58a466e554a8d097831 100755 (executable)
@@ -1,24 +1,30 @@
 #!/bin/sh
 #
+# Author: Mike Beattie <mike@ethernal.org>
+#
+# Script to parse result from git describe, and push values into
+# BuildInfo.java for use within altosdroid (to display the current
+# version and build information, primarily).
+#
 
-describe=$(git describe --always 2>/dev/null || echo '')
-if [ -n "$describe" ]; then
-   version=$(echo $describe | cut -d- -f1)
-   commitnum=$(echo $describe | cut -d- -f2)
-   commithash=$(echo $describe | cut -d- -f3)
-else
-   . ../src/Version
-   version=$VERSION
-   commitnum=''
-   commithash=''
-fi
+infile=src/org/altusmetrum/AltosDroid/BuildInfo.java.in
+outfile=src/org/altusmetrum/AltosDroid/BuildInfo.java
 
+. ../src/Version
+version=$VERSION
+commitnum=''
+commithash=''
 builddate=$(date "+%Y-%m-%d")
 buildtime=$(date "+%H:%M")
 
 
-infile=src/org/altusmetrum/AltosDroid/BuildInfo.java.in
-outfile=src/org/altusmetrum/AltosDroid/BuildInfo.java
+describe=$(git describe --match "$version" --long --always 2>/dev/null || echo '')
+if [ -n "$describe" ]; then
+   commitdetails=$(echo $describe | sed -e "s/^$version-//")
+   commitnum=$(echo $commitdetails | cut -d- -f1)
+   commithash=$(echo $commitdetails | cut -d- -f2)
+fi
+
 
 echo "Version $describe, built on $builddate, $buildtime"