build: rewrite mkversion.sh to use git metadata (#239)
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 1 Nov 2014 08:53:02 +0000 (09:53 +0100)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 1 Nov 2014 08:53:02 +0000 (09:53 +0100)
The current build/mkversion.sh still expected an SVN repository layout,
rewrite it to derive tags and branchnames from git metadata.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
build/mkversion.sh

index afb34b4..3680008 100755 (executable)
@@ -1,10 +1,26 @@
 #!/bin/sh
 #!/bin/sh
-if [ "${4%%/*}" = "branches" ]; then
-       variant="LuCI ${4##*[-/]} Branch"
-elif [ "${4%%/*}" = "tags" ]; then
-       variant="LuCI ${4##*[-/]} Release"
+
+if svn info >/dev/null 2>/dev/null; then
+       if [ "${4%%/*}" = "branches" ]; then
+               variant="LuCI ${4##*[-/]} Branch"
+       elif [ "${4%%/*}" = "tags" ]; then
+               variant="LuCI ${4##*[-/]} Release"
+       else
+               variant="LuCI Trunk"
+       fi
+elif git status >/dev/null 2>/dev/null; then
+       tag="$(git describe --tags 2>/dev/null)"
+       branch="$(git symbolic-ref --short -q HEAD 2>/dev/null)"
+
+       if [ -n "$tag" ]; then
+               variant="LuCI $tag Release"
+       elif [ "$branch" != "master" ]; then
+               variant="LuCI ${branch##*-} Branch"
+       else
+               variant="LuCI Master"
+       fi
 else
 else
-       variant="LuCI Trunk"
+       variant="LuCI"
 fi
 
 cat <<EOF > $1
 fi
 
 cat <<EOF > $1