这是一个非常普遍的情况,我在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