Files
sics/site_ansto/extract_version.sh
Douglas Clowes 55325dd704 make extract_version work with bot svn and git
r3814 | dcl | 2012-11-22 09:22:34 +1100 (Thu, 22 Nov 2012) | 1 line
2012-11-22 09:53:01 +11:00

52 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
case "${1^^}" in
"ALL"|"") TARGET=ALL;;
"SITE") TARGET=SITE;;
"BRANCH"|"VERSION") TARGET=BRANCH;;
"REVISION") TARGET=REVISION;;
*) TARGET=ALL
esac
function get_branch {
path="$1"
base="UNKNOWN"
while [ "$path" != "http:" ]
do
resp=$base
if [ "$base" == "trunk" ]
then
echo "trunk"
return 0
fi
base=$(basename $path)
if [ "$base" == "branches" ]
then
echo "${resp}"
return 0
fi
path=$(dirname $path)
done
}
if [ -e ".svn" ]
then
SICS_VER="$(svn info | grep "URL:" | sort -u | cut -d ' ' -f 2 | head -n 1 | xargs basename)"
if [ "sics" == "${SICS_VER}" ]
then
SICS_VER="$(svn info .. | grep "URL:" | sort -u | cut -d ' ' -f 2 | head -n 1 | xargs dirname | xargs basename)"
fi
SICS_VER="$(get_branch "$(svn info .. | grep "URL:" | sort -u | cut -d ' ' -f 2 | head -n 1 )")"
SICS_REV="$(svn info --recursive .. | grep "Revision:" | sort -u | cut -d ' ' -f 2)"
else
git log -1 2>&1 >> /dev/null
if [ $? == 0 ]
then
SICS_VER="$(git branch | grep '^*' | cut -d ' ' -f 2)"
SICS_REV="$(git log -1 --oneline | cut -d ' ' -f 1)"
else
SICS_VER="$USER"
SICS_REV="$(date '+%Y-%m-%d-%H-%m-%S')"
fi
fi
if [[ ${TARGET} == "SITE" || ${TARGET} == "ALL" ]]; then echo "ANSTO"; fi
if [[ ${TARGET} == "BRANCH" || ${TARGET} == "ALL" ]]; then echo "${SICS_VER}"; fi
if [[ ${TARGET} == "REVISION" || ${TARGET} == "ALL" ]]; then echo "${SICS_REV}"; fi