svn:如何比较分支的工作副本和中继的特定修订版

时间:2018-05-21 03:35:40

标签: 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中的相应文件相比,工作副本中所有文件之间的所有差异。

怎么做?

编辑:uzsolt建议:

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

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

1.它打印我的更改,加上大量的:

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

我不想要那些。

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

2 个答案:

答案 0 :(得分:0)

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

svn diff ^/trunk ^/my_branch

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

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

答案 1 :(得分:0)

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

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

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