Mercurial:关于在分支之间合并时如何跳过一些变更集的任何想法?

时间:2011-02-16 15:17:51

标签: mercurial branching-and-merging

我们的情况如下: 我们在Mercurial存储库中有两个分支,我们称之为分支A和分支B.

  • 分支A代表稳定版本的代码
  • 分支B用于开发分支

分支A中修改的所有内容都已合并到分支B. 但是现在我们来到了分支B中的代码与分支A有几个不同之处。 我们在分支A中进行了一些大的代码更改,在分支B中合并这些更改将是一个真正的痛苦,实际上我们希望对解决方案进行替代实现。 但是稍后我们还想继续对分支A进行更改,并且仍然能够将这些稍后的次要更改合并到分支B. 所以问题是: 合并到分支B时是否可以从分支A跳过一些单个变更集,并将以后的变更集从A再次合并到B中? (可能使用纯Hg解决方案,没有解决方法,备份中的副本等等......)

这里概述了我们将会达到的目标:

    Changesets Branch A     Changesets Branch B
    Chgset A.1              Chgset B.1 (Merged with A.1)
    Chgset A.2
                            Chgset B.2 (**Not merged with A.2**)
    Chgset A.3              Chgset B.3 (Merged with A.3 but not with A.2)

提前感谢任何建议

1 个答案:

答案 0 :(得分:6)

这是transplant扩展程序的确切目的。

transplant扩展(在其他DVCS中挑选)可以跟踪复制更改集的位置,因此合并更容易。

您必须先激活扩展程序(包含但默认情况下禁用 )。在hgrc文件中,添加:

[extensions]
transplant=