4

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

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

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

> 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. 我正在使用子存储库,所以这是我的主存储库的结构:

在此处输入图像描述

4

1 回答 1

4

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

internal:other #keep their files

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

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

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

于 2012-03-08T18:40:22.400 回答