【发布时间】:2013-05-07 19:59:39
【问题描述】:
我正在使用(历史上)手动合并而不是通过svn merge 合并的代码库。我试图通过向所有人证明合并的有用性来改变这一点 - 但是当我进行试运行时,我得到了这个:
$ 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 中的一个错误。 -
@nosid 我正在运行 1.6.3