我们的情况如下: 我们在Mercurial存储库中有两个分支,我们称之为分支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)
提前感谢任何建议
答案 0 :(得分:6)
这是transplant
扩展程序的确切目的。
transplant
扩展(在其他DVCS中挑选)可以跟踪复制更改集的位置,因此合并更容易。
您必须先激活扩展程序(包含但默认情况下禁用 )。在hgrc
文件中,添加:
[extensions]
transplant=