我们使用 Mercurial (+Tortoise Hg) 作为 VCS,使用 Kdiff 作为差异和合并工具。
有些文件会自动合并,有时这种自动合并结果很奇怪:
public static Method()
<<<<<<< local
{
DoSmth();
}
=======
{
DoSmth2();
}
>>>>>>> other
似乎 kdiff 对文件中未解决的冲突没有做任何事情,而是将其标记为已解决。也许 kdiff 有时不理解 diff 文件格式?hg 和 kdiff 集成中的一些错误?
也好像最近出现了这个问题,可能是新版本的hg/tortoise hg/kdiff的问题?
我们正在使用:
- 视窗 7 x64
- TortoiseHg 和 Mercurial 3.6.1
- Kdiff 0.9.98
来自 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(中心列)包含“dest”、“source”作为文件的一部分。但是这个文件中没有这样的行。
似乎 HG 向 kdiff 文件提供了一些 Kdiff 无法/不能理解的差异信息。