题
假设文件和您的文件是旧的后代。
file_mine =
abc def ghi
file_old =
abc jkl ghi
file_yours =
abc def ghi
命令 diff3 -m MIND OLD YOURS
给:
abc <<<<<<< OLD jkl ======= def >>>>>>> YOURS ghi
Diff3无法解决该矿山和您的相同更改。
为什么?而且,有没有办法解决这个问题?
为此挠痒痒:
diff OLD MIND
和 diff OLD YOURS
其产出中有相同的大块头。
2c2 < jkl --- > def
在三向合并期间,这些帅哥是否应该不“取消”?
解决方案
您期望拥有什么?
作为 描述diff3实用程序的文章 说:
...这个(合并) 未能是真实的 当所有三个输入文件都不同或 当只有较旧的不同时;我们称之为 冲突. 。当所有三个输入文件都不同时,我们将冲突称为 重叠
因此,您描述的案件被视为冲突。 '为什么这样?'你可能会问。由于diff3算法。描述您可以在同一页面上找到:
您可以将此(合并)视为减法 年龄较大 从 你的 并将结果添加到 矿, ,或合并到我的变化中,会变老成您的变化
它无法正确解决差异,因为它没有正确的更改的适当背景。
如果您要说应该使用其他方法来工作,我会同意您的看法。但是它就是这样啊。 DIFF3并不完美,如果您想正确执行此操作,我建议使用其他工具 文章
不隶属于 StackOverflow