WiiFlow_Lite/scripts/svnrev.sh
2012-01-21 20:57:41 +00:00

43 lines
1.1 KiB
Bash

#! /bin/bash
#
rev_new_raw=$(svnversion -n . 2>/dev/null | tr '\n' ' ' | tr -d '\r')
[ -n "$rev_new_raw" ] || rev_new_raw=$(SubWCRev . 2>/dev/null | tr '\n' ' ' | tr -d '\r')
if [ "$rev_new_raw" == "exported" ];
then
echo This copy of wiiflow is not under source control
exit
fi
rev_new_raw=$(echo $rev_new_raw | sed 's/[^0-9]*\([0-9]*\)\(.*\)/\1 \2/')
rev_new=0
a=$(echo $rev_new_raw | sed 's/\([0-9]*\).*/\1/')
let "a+=0"
#find max rev
while [ "$a" ]; do
[ "$a" -gt "$rev_new" ] && rev_new=$a
rev_new_raw=$(echo -n $rev_new_raw | sed 's/[0-9]*[^0-9]*\([0-9]*\)\(.*\)/\1 \2/')
a=$(echo $rev_new_raw | sed 's/\([0-9]*\).*/\1/')
done
rev_old=$(cat ./source/svnrev.h 2>/dev/null | tr -d '\n' | sed 's/[^0-9]*\([0-9]*\).*/\1/')
if [ "$rev_new" != "$rev_old" ] || [ ! -f ./source/svnrev.h ]; then
cat <<EOF > ./source/svnrev.h
#define SVN_REV "$rev_new"
EOF
if [ -n "$rev_old" ]; then
echo "Changed Rev $rev_old to $rev_new" >&2
else
echo "svnrev.h created" >&2
fi
rev_new=`expr $rev_new + 1`
rev_date=`date +%Y%m%d%H%M -u`
fi