From 91933a3fef096d267b2aae1e32b7bff9fe4b3e02 Mon Sep 17 00:00:00 2001 From: Torne Wuff Date: Thu, 15 Oct 2009 12:38:24 +0000 Subject: Add support for detecting build version in a bzr checkout (for bzr-svn users). From FS#10414 (by me) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23187 a1c6a512-1295-4272-9138-f99709370657 --- tools/version.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/version.sh b/tools/version.sh index 25e781c784..2e75004901 100755 --- a/tools/version.sh +++ b/tools/version.sh @@ -61,6 +61,30 @@ gitversion() { fi } +# Work out the latest svn id and also the latest bzr revno +bzrversion() { + + # look for a svn revno in the current head + svnver=`LANG=C bzr log -l1 $1 | grep '^ *svn revno: ' | cut -d : -f2 | cut -d ' ' -f 2` + + if [ -n "$svnver" ]; then + # current head is a svn version so we don't care about bzr + version="r$svnver" + else + # look for a svn revno anywhere in history including in merges + svnver=`LANG=C bzr log -n0 $1 | grep '^ *svn revno: ' | head -n 1 | cut -d : -f2 | cut -d ' ' -f 2` + if [ -n "$svnver" ]; then + version="r$svnver+bzr`bzr revno $1`" + else + version="bzr`bzr revno $1`" + fi + fi + if ! bzr diff $1 >/dev/null; then + mod="M" + fi + echo "${version}${mod}" +} + # # First locate the top of the src tree (passed in usually) # @@ -73,6 +97,8 @@ else # Ok, we need to derive it from the Version Control system if [ -d "$TOP/.git" ]; then VER=`gitversion $TOP` + elif [ -d "$TOP/.bzr" ]; then + VER=`bzrversion $TOP` else VER=`svnversion_safe $TOP`; if [ "$VER" = "unknown" ]; then -- cgit v1.2.3