首页 > 解决方案 > 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.

这个怎么做?

编辑:uzsolt 建议这样做:

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

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

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

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

我不想要那些。

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

标签: svn

解决方案


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

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

你仍然必须摆脱所有的Property changes on:东西。


推荐阅读