Merge 仅提取合并变更集时发生意外冲突

Merge 仅提取合并变更集时发生意外冲突,merge,mercurial,branch,Merge,Mercurial,Branch,我们有三个相关的Mercurial回购协议,我们目前正在开发中使用。如图所示,我们有: 发布版本One(Base已发布,我们即将发布补丁) 内部版本Two,与One不同,仅在我们的CI系统使用的一些测试代码中 即将发布的三个版本 承诺回购后,变更总是推送到“较低”的回购。我的问题是,变更集A2(事后来看,可能是A1)在被合并为两个之前直接合并为三个 目前,即使所有成分变化都在Three中,回购Two的尖端不会在没有大量冲突的情况下合并(粗虚线)到Three 我看到的选择是: 重新合并A2和

我们有三个相关的Mercurial回购协议,我们目前正在开发中使用。如图所示,我们有:

  • 发布版本One(Base已发布,我们即将发布补丁)
  • 内部版本Two,与One不同,仅在我们的CI系统使用的一些测试代码中
  • 即将发布的三个版本

承诺回购后,变更总是推送到“较低”的回购。我的问题是,变更集A2(事后来看,可能是A1)在被合并为两个之前直接合并为三个

目前,即使所有成分变化都在Three中,回购Two的尖端不会在没有大量冲突的情况下合并(粗虚线)到Three

我看到的选择是:

  • 重新合并A2和B2,并使用
    hg commit--close branch
    来消除混乱的合并,然后将替换合并推到Three
  • 重新合并A2和B2,并
    hg从混乱的合并中剥离
    。遗憾的是,我无法剥离托管回购协议,因此我必须跳一段舞来替换那里的回购协议(并通知使用该回购协议的小型团队)
  • 将当前的Two技巧合并到Two上,并经历几十个“冲突”的繁琐过程
  • 我的问题是,简单地解决这个问题的最佳方法是什么?
    还有,这首先是怎么发生的


    请注意,图像经过简化,通常会有多个变更集在合并到下一个之前被推送到repo。

    您正在进行一次合并(合并的两个父项没有一个共同的祖先),Mercurial并不真正喜欢这些变更集。您可以尝试该算法,但一定要彻底测试/审核结果,因为这是一个实验特性。