svn diff:合并后为删除/读取的文件获取“真实”差异

时间:2013-02-01 18:45:54

标签: svn svn-merge

所以我有两个分支,b1b2。我有一份b1的工作副本已在特定版本r1000检出,并且我已合并r1001 b2的某些更改。

我在我的工作副本中手动编辑了文件foo,现在它与r1000的{​​{1}}版本相同。但是,当我执行b1时,输出是针对svn diffb2修订版的差异,而不是针对r1001的{​​空}差异,b1我期待的。

是否有一种通用方法可以让r1000说“如果您在”中检查这个内容,那么这将在存储库中发生变化“,或者我是否必须在命令行中指定分支和修订号才能获取我想要什么?

1 个答案:

答案 0 :(得分:0)

svn help diff,请阅读此内容!

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

如果你想要并清楚地识别差异源,你必须在命令中编写它并使用差异的第三种形式

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

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

  

如果您在

中进行检查,这就会在存储库中发生变化

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