diff options
Diffstat (limited to 'trunk/build_tools/make_version')
-rwxr-xr-x | trunk/build_tools/make_version | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/trunk/build_tools/make_version b/trunk/build_tools/make_version new file mode 100755 index 000000000..4e9901dc5 --- /dev/null +++ b/trunk/build_tools/make_version @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ -f ${1}/.version ]; then + cat ${1}/.version +elif [ -d .svn ]; then + PARTS=`LANG=C svn info ${1} | ${GREP} URL | ${AWK} '{print $2;}' | sed -e 's:^.*/svn/asterisk/::' | sed -e 's:/: :g'` + BRANCH=0 + TEAM=0 + TAG=0 + + REV=`svnversion -c ${1} | cut -d: -f2` + + BASE=`LANG=C svn pg svnmerge-integrated ${1} | cut -d: -f1` + + if [ "${PARTS}" = "trunk" ] ; then + echo SVN-trunk-r${REV} + exit 0 + fi + + for PART in $PARTS ; do + if [ ${TAG} != 0 ] ; then + RESULT="${PART}" + break + fi + + if [ ${BRANCH} != 0 ] ; then + if [ -z ${RESULT} ] ; then + RESULT="${PART}" + else + RESULT="${RESULT}-${PART}" + fi + break + fi + + if [ ${TEAM} != 0 ] ; then + if [ -z ${RESULT} ] ; then + RESULT="${PART}" + else + RESULT="${RESULT}-${PART}" + fi + continue + fi + + if [ "${PART}" = "branches" ] ; then + BRANCH=1 + RESULT="branch" + continue + fi + + if [ "${PART}" = "tags" ] ; then + TAG=1 + continue + fi + + if [ "${PART}" = "team" ] ; then + TEAM=1 + continue + fi + done + + if [ ${TAG} != 0 ] ; then + echo ${RESULT} + else + echo SVN-${RESULT}-r${REV}${BASE:+-${BASE}} + fi +fi |