【发布时间】:2012-01-11 11:43:51
【问题描述】:
考虑我有以下情况:
我有一个来自修订版 4 的分支 br_foo。之后,在默认分支上又做了 3 处更改:6、7 和 8。我只想将更改 7 和 8 合并到 br_foo。有没有办法在 mercurial 中实现这一点?
【问题讨论】:
考虑我有以下情况:
我有一个来自修订版 4 的分支 br_foo。之后,在默认分支上又做了 3 处更改:6、7 和 8。我只想将更改 7 和 8 合并到 br_foo。有没有办法在 mercurial 中实现这一点?
【问题讨论】:
根据您使用的 Mercurial 版本,您可能会使用 Mercurial 2.x 中的新 Graft 功能或旧版 Mercurial 中的旧 Transplant Extension。
这是最近(2011 年 11 月)宣布的,所以我自己还没有机会使用它。
此命令使用 Mercurial 的合并逻辑来复制单个更改 来自其他分支而不合并历史图中的分支。 这有时被称为“反向移植”或“樱桃采摘”。经过 默认情况下,graft 将从源中复制用户、日期和描述 变更集。
我已经将它用于这种情况。描述中的小sn-p ...
此扩展允许您从另一个分支移植补丁或 存储库。
它在移植的变更集中记录了原始变更集ID, 并避免移植以前移植的补丁。
它还可以用于针对上游更改重新设置分支 (包括删除上游已采用的变更集),以 重写变更集并挑选一些变更集。
【讨论】:
自 mercurial 2.0(2011 年 11 月 1 日发布)以来,这由新的核心命令 graft 处理:
此命令使用 Mercurial 的合并逻辑从其他分支复制单个更改,而不合并历史图中的分支。这有时被称为“反向移植”或“樱桃采摘”。
【讨论】: