build: rewrite mkversion.sh to use git metadata (#239)
[project/luci.git] / build / mkversion.sh
index 1b1819e..3680008 100755 (executable)
@@ -1,11 +1,26 @@
 #!/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
-       variant="LuCI Trunk"
+       variant="LuCI"
 fi
 
 cat <<EOF > $1