mercurial:如何在合并期间挑选樱桃

lan*_*ng2 11 merge mercurial

考虑我有以下情况:

我有一个来自修订版4的分支br_foo.之后,在默认分支上还有3个更改:6,7和8.我只想将更改7和8合并到br_foo.有没有办法在mercurial实现这一目标?

Chr*_*ley 11

移植v移植

根据您使用的Mercurial版本,您可能会使用Mercurial 2.x中的新Graft功能或早期版本Mercurial 的旧版Transplant Extension.


Graft命令

这是最近宣布的(2011年11月)所以我自己没有机会与它合作.

此命令使用Mercurial的合并逻辑从其他分支复制单个更改,而不在历史记录图中合并分支.这有时被称为"backporting"或"cherry-picking".默认情况下,移植将从源更改集复制用户,日期和说明.


移植扩展

我已经将它用于这种情况.描述中的一小段片段......

此扩展允许您从另一个分支或存储库移植修补程序.

它在移植的变更集中记录原始变更集ID,并避免移植先前移植的补​​丁.

它还可用于针对上游更改(包括删除已在上游采用的更改集)重新分支分支,重写变更集以及一些变更集.