我们将Mercurial(+ Tortoise Hg)用作VCS,将Kdiff用作差异和合并工具。

一些文件会自动合并,有时这种自动合并结果会很奇怪:

    public static Method()
<<<<<<< local
    {
        DoSmth();
    }
=======
    {
        DoSmth2();
    }
>>>>>>> other

似乎kdiff对文件中未解决的冲突没有采取任何措施,但将其标记为已解决。
也许kdiff有时不了解diff文件格式? hg和kdiff集成中的一些错误?

似乎最近也出现了这个问题,可能是新版本的hg / tortoise hg / kdiff的问题?

我们正在使用:
  • Windows 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
    

    更新:

    即使手动合并也会出现问题。
    脚步:
  • 开始重新配置
  • 草龟汞说:“有冲突”
    merge - Kdiff和hg:自动合并后 Unresolved 冲突-LMLPHP
  • 单击“工具解析”,Kdiff打开
    merge - Kdiff和hg:自动合并后 Unresolved 冲突-LMLPHP

  • 在这里!父级1(中间列)包含“目标”,“源”作为文件的一部分。但是此文件中没有这样的行。

    好像HG给kdiff文件提供了一些Kdiff无法理解/必须理解的差异信息。

    最佳答案

    这是Mercurial 3.6.0和3.6.1中的错误。在3.6.2中已修复。

  • 解决:仅在合并完全完成之后才还原.orig(issue4952)

  • 引用原始报告:

    关于merge - Kdiff和hg:自动合并后 Unresolved 冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34716614/

    10-13 07:19