最近在做发布流程相关事情。当开发需要将更改的代码提交到测试环境测试之前,需要开发给出一个版本号,如418或418:419或者418:419,420这种格式。然后将开发分支合并到测试分支工作目录。如果给定版本号是418就执行svn merge -c 418,如果是418:419这种格式就执行svn merge -r 418:419,如果是418:419,420这种需求,则先执行svn merge -r 418:419然后执行svn merge -c 420。
部分代码如下:
string=$1
echo "******************THE GIVEN REVISION STRING IS $string********************"
num=$(echo "$string" | awk -F"," ‘{print NF}‘)
//先根据,分割版本号字符串,计算有多少字段
for i in $(seq 1 $num)
do
string_sub=$( echo "$string" | awk -F"," "{ print \$$i }")
//这里需要特别注意:awk使用shell变量$i时需要用\$进行转义,写成\$$i的形式
num2=$(echo "$string_sub" | awk -F":" ‘{print NF}‘)
//再根据:分割版本号字符串,如果,分割后的字段包含:则执行svn merge -c 否则执行svn merge -c
if [ $num2 -ge 2 ];then
svn merge $dev_svn_base/$platform/$version -r $string_sub
else
svn merge $dev_svn_base/$platform/$version -c $string_sub
fi
done
本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1382815
根据开发提供的svn更新版本号从开发分支合并代码到测试分支工作目录的部分脚本,布布扣,bubuko.com
根据开发提供的svn更新版本号从开发分支合并代码到测试分支工作目录的部分脚本
原文:http://john88wang.blog.51cto.com/2165294/1382815