0

所以我有两个分支,b1并且b2. b1我有一个在某个修订版中签出的工作副本r1000,并且我已经合并了来自r1001的一些更改b2

foo在我的工作副本中手动编辑了一个文件,使其现在r1000b1. 但是,当我执行 , 时svn diff,输出是与b2,修订的差异,而不是我所期望r1001的(空)差异与。b1r1000

是否有一种通用的方式可以svn diff说“如果您签入,这就是存储库中将发生的变化”,还是我必须在命令行上指定分支和修订号才能得到我想要的?

4

1 回答 1

0

svn help diff, 读这个!

当您svn diff <FILENAME>在工作副本中使用修改后的文件时,它与文件的“原始副本”不同(没有其他选项),在您的情况下,它必须是b1/foo@1000,而不是 b2@1001 (顺便说一句 - 当你合并时,你合并分支,而不是单个修订:来自svn help merge,1-st 形式“可选的 '@REV' 指定 URL 的 peg 修订和将考虑合并的最新修订”)

如果您想要并且清楚地识别差异来源,您必须在命令中编写它并使用 diff 的 3-rd 形式

diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]

其中一个 URL 是 WC 中的文件,另一个 URL - repo 中文件的 URL(如果需要,使用 PEG 修订版)

如果您签入,这就是存储库中将发生的变化

“......如果你提交”我们在 SVN 世界中说,这是与 BASE-revision 的差异svn diff FILE(这个差异包含 - 合并和手动 - 更改,如果它们存在/并且这种混合是不好的做法和反-图案/)

于 2013-02-05T01:59:26.190 回答