使用mergeinfo比较具有不同根的分支

时间:2015-06-05 19:17:46

标签: bash svn

我正在将分支与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要从输出中删除少于分支创建修订版的内容?

1 个答案:

答案 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