【问题标题】:How to tell Mercurial to automatically accept "their" version during a merge conflict of any files in a particular directory?如何告诉 Mercurial 在特定目录中的任何文件合并冲突期间自动接受“他们的”版本?
【发布时间】:2012-03-08 17:38:23
【问题描述】:

首先,我不想签入生成的文件,但我的经理坚持。因此,鉴于这些限制,我想创建一个反复无常的“合并模式”,它将始终在我的工作存储库中名为“生成”的所有目录中获取“他们的文件”。我已经阅读了hgrc documentationrelated post,我认为它应该是这样的:

[merge-patterns]
generated/** = internal:other #keep their files

这被放置在我的根 .hg/hgrc 文件中。当我使用合并冲突运行 hg 更新时,这就是我得到的:

> hg update
couldn't find merge tool internal:other #keep their files specified for generated/**
merging generated/file.sv

所以我将“合并模式”修改为如下所示:

[merge-patterns]
**/generated/** = internal:other #keep their files

这是我得到的:

> hg update
merging generated/file.sv

所以,我不再收到“找不到内部合并工具:其他”警告,但它仍在尝试合并生成的文件。

关于如何让它发挥作用的任何想法?

补充说明:

  1. 我们正在使用 Mercurial 1.7.5 版,因为我们在使用较新的版本和子存储库时遇到了问题。
  2. 我正在使用子存储库,因此我的主存储库的结构如下所示:

【问题讨论】:

    标签: mercurial merge merge-conflict-resolution


    【解决方案1】:

    我相信问题只是评论! Mercurial 正在寻找一个名为

    的工具
    internal:other #keep their files
    

    这不太可能存在 :-) 尝试将评论移到上面的一行:

    [merge-patterns]
    # keep their files
    generated/** = internal:other
    

    我还没有对此进行测试,但我相信您仍然需要您使用的第一个模式 — 警告随着您的第二次尝试而消失,因为该模式不再匹配 子存储库中的。即使您从顶层开始合并,子存储库也会被合并,就像hg merge 在子存储库中执行一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-16
      • 2012-06-29
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      相关资源
      最近更新 更多