假设文件 MINE 和 YOURS 是 OLD 的后代。
文件_我的=
abc
def
ghi
文件_旧=
abc
jkl
ghi
文件_你的=
abc
def
ghi
Command diff3 -m MIND OLD YOURS
gives:
abc
<<<<<<< OLD
jkl
=======
def
>>>>>>> YOURS
ghi
diff3 无法解析“我的”和“你的”所做的相同更改。
为什么?并且,有办法解决这个问题吗?
用这个来刺激你的大脑:
diff OLD MIND
and diff OLD YOURS
他们的输出中有相同的帅哥。
2c2
< jkl
---
> def
在三路合并期间,这些猛男不应该“取消”吗?
你期望得到什么?
As the 描述 diff3 实用程序的文章 says:
...这个(合并)事实并非如此当所有三个输入文件不同或当只有年龄不同时;我们称之为conflict。当所有三个输入文件都不同时,我们将冲突称为冲突overlap
因此,您所描述的情况被视为冲突。 '为什么这样?'你可能会问。因为diff3算法。您可以在同一页面找到说明:
您可以将其(合并)视为减法older from yours并将结果添加到mine,或者将那些会变老的变化融入到你的变化中
它无法正确解决差异,因为它没有适当的更改背景。
如果您要说它应该使用其他方法来工作,我会同意您的观点。但是它就是这样啊。 diff3 并不完美,如果您想按照中所述正确操作,我建议您使用其他工具article
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)