考虑我有以下情况:
我有一个来自修订版4的分支br_foo。之后,在默认分支上还有3个更改:6,7和8.我只想将更改7和8合并到br_foo。有没有办法在mercurial中实现这个目标?
答案 0 :(得分:11)
根据您使用的Mercurial版本,您可能会使用Mercurial 2.x中的新Graft功能或早期版本的Mercurial中较旧的Transplant Extension。
这是最近宣布的(2011年11月)所以我自己没有机会与它一起工作。
此命令使用Mercurial的合并逻辑来复制单个更改 来自其他分支,而不在历史图表中合并分支。 这有时被称为“backporting”或“cherry-picking”。通过 默认情况下,移植将从源复制用户,日期和说明 的变更。
我已经将它用于这种情况。描述中的一小段......
此扩展允许您从另一个分支或移植补丁 库中。
它在移植的变更集中记录原始变更集ID, 并避免移植以前移植的补丁。
它还可以用于根据上游更改来修改分支 (包括删除上游采用的变更集) 重写变更集并精心设计一些变更集。
答案 1 :(得分:2)
自mercurial 2.0(2011年11月1日发布)以来,这是由新的核心命令graft处理的:
此命令使用Mercurial的合并逻辑从其他分支复制单个更改,而不在历史记录图中合并分支。这有时被称为“backporting”或“cherry-picking”。