我们将Mercurial(+ Tortoise Hg)用作VCS,将Kdiff用作差异和合并工具。
一些文件会自动合并,有时这种自动合并结果会很奇怪:
public static Method()
<<<<<<< local
{
DoSmth();
}
=======
{
DoSmth2();
}
>>>>>>> other
似乎kdiff对文件中未解决的冲突没有采取任何措施,但将其标记为已解决。
也许kdiff有时不了解diff文件格式? hg和kdiff集成中的一些错误?
似乎最近也出现了这个问题,可能是新版本的hg / tortoise hg / kdiff的问题?
我们正在使用:
从mercurial.ini:
[ui]
merge = kdiff3
[tortoisehg]
editor=VisualStudio
vdiff=meld
[merge-tools]
meld.executable = C:\Program Files (x86)\Meld\meld.exe
meld.priority = 1
meld.premerge = False
meld.args = $local $base $other
[diff]
git = True
更新:
即使手动合并也会出现问题。
脚步:
在这里!父级1(中间列)包含“目标”,“源”作为文件的一部分。但是此文件中没有这样的行。
好像HG给kdiff文件提供了一些Kdiff无法理解/必须理解的差异信息。
最佳答案
这是Mercurial 3.6.0和3.6.1中的错误。在3.6.2中已修复。
引用原始报告:
关于merge - Kdiff和hg:自动合并后 Unresolved 冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34716614/