我正在使用一个代码库,该代码库(历史上)是手动合并的,而不是通过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
Run Code Online (Sandbox Code Playgroud)
我有两个文件(分别列为 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]]
Run Code Online (Sandbox Code Playgroud)
(文件 1、2 和 6 位于其他位置)
所以,现在我特别困惑——试运行报告冲突,但是当合并真正运行时,它成功了?这是有意的行为吗?我承认我不是 SVN 专家,但我还是很困惑。
这是 的预期行为--dry-run,它不会修改文件系统。
由于您指定了各个修订,因此这些修订将被一个接一个地单独应用。合并输出中的G表示发生了合并 - svn 对已进行本地更改的文件进行了更改。
详细地:
一旦克服了所有这些问题,您将能够一次性合并所有这些内容,而无需指定单独的修订,并且试运行和常规合并之间的这种差异将消失。
| 归档时间: |
|
| 查看次数: |
14531 次 |
| 最近记录: |