我正在将分支与svn mergeinfo http://myserver.com/branches/FeatureBranch http://myserver.com/branches/UAT --show-revs eligible
进行比较,以显示功能分支中是否有任何内容,但UAT中没有。
然而,有人从分支机构创建了一个分支并进行了2次提交。当我运行该命令时,它列出了原始分支的所有提交,而不仅仅是提交。这是我认为的预期行为,但是,我想看到两个提交。
svn log
有--stop-on-copy
选项,只显示日志中的两个提交,所以我想用mergeinfo命令模拟类似的东西。但是,毫不奇怪,它不受支持。
'Subcommand mergeinfo' doesn't accept option '--stop-on-copy'
如何模拟我感兴趣的行为? 也许有些bash要从输出中删除少于分支创建修订版的内容?
答案 0 :(得分:0)
从第二个分支点开始,使用-r传递修订范围。
OP评论: 这使脚本看起来像这样:
echo "Checking if there are commits beyond the code freeze"
svn log --xml --stop-on-copy $UAT|grep msg|cut -d\> -f2|cut -d: -f1|sort -u|while read branch
do
if [ "$branch" != "" ]; then
echo "Checking branch: $branch"
branchVersion=$(svn log --xml --stop-on-copy $Branches/$branch|grep revision|tail -1|awk -F\" '{ print $2 }')
eligibleRevisions=$(svn mergeinfo -r$branchVersion:HEAD $Branches/$branch $UAT --show-revs eligible)
if [ "$eligibleRevisions" != "" ]; then
echo "Branch $branch Created at $branchVersion"
echo "svn mergeinfo -r$branchVersion:HEAD $Branches/$branch $UAT --show-revs eligible"
echo "$eligibleRevisions"
fi
fi
done