我正在使用一个代码库(历史记录)已经通过手工合并而不是通过svn merge
。我试图通过证明对大家有用的合并是如何改变这种状况 - 但是当我做一个预演,我得到这个:svn merge --dry-run显示svn区别
$ svn merge [[Repo URL]] . -c 21355,21358,21364,21370,21371,21373 --dry-run
--- Merging r21355 into '.':
U [[File 1]]
--- Merging r21355 into '[[dir]]':
U [[dir]]/[[File 2]]
U [[dir]]/[[File 3]]
--- Merging r21358 into '[[dir]]':
U [[dir]]/[[File 4]]
--- Merging r21364 into '[[dir]]':
U [[dir]]/[[File 2]]
C [[dir]]/[[File 4]]
--- Merging r21370 into '[[dir]]':
U [[dir]]/[[File 5]]
--- Merging r21371 into '[[dir]]':
U [[dir]]/[[File 5]]
--- Merging r21373 into '[[dir]]':
C [[dir]]/[[File 5]]
U [[dir]]/[[File 6]]
Summary of conflicts:
Text conflicts: 2
我有两个文件(被列为4和5,分别),即在一次合并中幸存下来只会与最后一次合并发生冲突。我试图弄清楚现在是什么冲突,看看我能否解决它。如果我可以强迫svn吐出两个冲突变化的差异,我会喜欢它。
我检查了刚刚最窄目录的一个新的工作副本中,当我跑不空转合并,我得到:
--- Merging r21355 into '.':
U [[File 3]]
--- Merging r21358 into '.':
U [[File 4]]
--- Merging r21364 into '.':
G [[File 4]]
--- Merging r21370 into '.':
U [[File 5]]
--- Merging r21371 into '.':
G [[File 5]]
--- Merging r21373 into '.':
G [[File 5]]
(文件1,2,6驻留在别处)
所以,现在我特别困惑 - 干运行报告冲突,但是当合并实际运行时,它是成功的?这是预期的行为?我承认我不是SVN巫师,但我很困惑。
我可以用两个修订版重现此问题。 Rev 7增加了一个文件,Rev 8改变了文件。命令'svn merge -r6:8'和'svn merge -c7,8'产生相同的结果。但是,如果我添加“--dry-run”选项,则前者成功,后者失败。听起来像是SVN 1.7中的一个bug。 – nosid 2013-05-13 20:03:32
@nosid我正在运行1.6.3 – FrankieTheKneeMan 2013-05-13 20:46:10