svn打tag脚本

公司有三部机,分别为SIT\UAT\PRD,对应的是系统测试,用户测试与生机机,一般流程是系统测试通过后交付用户测试,用户测试通过后提交至生产机.如果每次用户测试不通过,就得从SIT迭代开始,如此下来一天可能就会产生多个uat版本,如果每次都得打标签,这将是一件非常冗长沉闷的事.例如一天下来会有test4uat_20110123_1\test4uat_20110123_2..为此,我写了一个脚本,用于代替上述纷繁的操作.
#!/bin/sh
today=`date +%Y%m%d`
for var in 1 2 3 4 5 6 7 8 9; do
 tag=`svn list http://192.168.86.10/svn/gmportal/tags/ | grep "test4uat_${today}_${var}"`
 if [ -n "$tag" ]; then
   echo "directory exists: test4uat_${today}_${var}"
 else echo `svn copy http://192.168.86.10/svn/gmportal/tags/test4st http://192.168.86.10/svn/gmportal/tags/test4uat_${today}_${var} 
-m "tag for backup uat"`
 break
 fi
done
echo `svn copy -rHEAD http://192.168.86.10/svn/gmportal/tags/test4st http://192.168.86.10/svn/gmportal/tags/test4uat -m "new uat tag"`




期间学到几个命令,备份一下往有有迹可循:
显示20110123:date +%Y%m%d
显示110123:date +%y%m%d
显示当前日期前N天的年月日:date +%Y%m%d  -d "`date +%Y%m%d` -N days"

你可能感兴趣的:(SVN,脚本)