所以我有两个分支,b1
和b2
。我有一份b1
的工作副本已在特定版本r1000
检出,并且我已合并r1001
b2
的某些更改。
我在我的工作副本中手动编辑了文件foo
,现在它与r1000
的{{1}}版本相同。但是,当我执行b1
时,输出是针对svn diff
,b2
修订版的差异,而不是针对r1001
的{空}差异,b1
我期待的。
是否有一种通用方法可以让r1000
说“如果您在”中检查这个内容,那么这将在存储库中发生变化“,或者我是否必须在命令行中指定分支和修订号才能获取我想要什么?
答案 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
(这个差异)不同包含 - 合并和手动 - 更改,如果它们存在/并且这种混合是不好的做法和反模式/)