假设文件MINE和YOURS是OLD的后代。
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无法解析MINE和YOURS做出相同的更改。
为什么呢?并且,有没有办法解决这个问题?
用这个搔痒你的大脑:
diff OLD MIND
和diff OLD YOURS
在输出中有相同的暗淡。
2c2 < jkl --- > def
这些帅哥是否应该在三方合并期间“取消”?
答案 0 :(得分:2)
您期望得到什么?
正如article describing diff3 utility所说:
...当所有三个输入文件不同时,此(合并)不能成为;如果只有旧版本不同,则 ;我们称之为冲突。当所有三个输入文件不同时,我们将冲突称为重叠
因此,您描述的案例被视为冲突。 '为什么这样?'你可能会问。因为diff3算法。您可以在同一页面找到描述:
您可以将此(合并)视为从您的中减去旧并将结果添加到 mine ,或者将其合并到我的将旧的变为你的变化
它无法正确解决差异,因为它没有适当的更改上下文。
如果你要说它应该使用其他方法,我会同意你的意见。但是它就是这样啊。 diff3并不完美,如果你想按照article
中所述的那样做,我建议你使用其他工具