SVN:如何将分支的工作副本与主干的特定修订版进行比较



这是一个非常普遍的情况,我在svn文档或google-fu中找不到解决方案。

假设我从主干的"已知良好"修订版中复制一个分支并检查出来:

>svn copy -m 'my branch' -r 100 svn+ssh://svn/trunk svn+ssh://svn/my_branch
>svn co svn+ssh://svn/my_branch
>cd my_branch

现在我对目录下的文件进行了许多编辑my_branch并定期与主干的"已知良好"修订版合并,如下所示:

>svn merge -r 100:110 svn+ssh://svn/trunk

在任何时候,我和我的审阅者都想看看,与我合并的主干的上次修订版相比,my_branch目录下所有文件的所有差异(这些是我的编辑 + 可能是由冲突合并引起的更改(。因此,与svn+ssh://svn/trunk修订版110中的相应文件相比,工作副本中所有文件之间的所有差异。

怎么做?

编辑:乌索特建议:

svn diff ^/trunk@REV1 ^/my_branch@REV2

这是一个好的开始,但我已经做了这样的事情,这个建议有两个问题:

1.It 打印我的更改,以及大量:

Property changes on: path/to/foobar
___________________________________________________________________
Modified: svn:mergeinfo
Merged trunk:r90-110

我不想要那些。

2.我不想提交我的更改,然后将该修订版与主干的修订版进行比较。我想将工作副本与主干的修订版进行比较。

我工作的当地大师凯文给出了以下答案:

svn diff --old ^/trunk@110 --new .

你仍然需要摆脱所有Property changes on:的东西。

也许我误解了你,但也许以下内容对你有帮助:

svn diff ^/trunk ^/my_branch

如果需要,可以附加修订号:

svn diff ^/trunk@REV1 ^/my_branch@REV2

最新更新