【问题标题】:How do I see what I changed to resolve a mercurial merge conflict?如何查看我为解决 mercurial 合并冲突所做的更改?
【发布时间】:2011-11-10 18:50:47
【问题描述】:

我刚刚将维护分支中的更改合并到我们的开发分支中。 (我们通过克隆 mercurial 存储库进行分支,而不是使用命名分支。)有一些冲突,所以我不得不手动编辑六行左右来解决合并冲突。没什么大不了的。但是当我查看合并提交时,我看到整个补丁堆栈中针对一个父级或另一个父级的无数行,而不是合并冲突。

我如何才能查看冲突及其解决方案?

【问题讨论】:

    标签: merge mercurial


    【解决方案1】:

    听起来你想要MergeDiff 扩展。

    【讨论】:

    【解决方案2】:

    hg -n annotate大概?

    或者,更好的annotate -n .. | grep 'hg tip --template "{rev}\n"'。您知道合并集的变更集编号,您的编辑将具有此编号(自动合并的字符串将获得最新更改的编号)

    【讨论】:

    • 哦,我明白你在说什么,在合并处注释文件并 grep 为已更改的行...是的,这有效,但它相对较慢。它至少需要缩小到合并中涉及的文件集,注释存储库中的所有内容都非常昂贵。
    • 责备 -r N(只使用了一个修订版的文件)?
    【解决方案3】:

    当我想这样做时,我会用ui.merge=internal:merge 重做合并,这样我就得到了所有的冲突标记。然后我将它与合并变更集进行比较。有点笨拙,但确实有效。

    【讨论】:

      【解决方案4】:

      您可以将hg diff 与-c 选项一起使用:

      -c --change REV           修订版所做的更改

      提示:使用--stat 仅检查文件(有和没有-c)。

      【讨论】:

        猜你喜欢
        • 2010-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        相关资源
        最近更新 更多