【发布时间】:2011-11-18 09:08:25
【问题描述】:
假设我有匿名分支 AA 和 BB。
在分支 AA 中有一个变更集 CC,我想将其合并到 BB 中,而不引入其所有父级。
这样做会奏效:
hg diff -c CC >>CC.diff
patch -p1 <CC.diff
但是,我会丢失与 CC 相同的变更集的信息,我只是创建一个恰好做同样事情的新变更集。
有没有更适合存储库的方法?
【问题讨论】:
假设我有匿名分支 AA 和 BB。
在分支 AA 中有一个变更集 CC,我想将其合并到 BB 中,而不引入其所有父级。
这样做会奏效:
hg diff -c CC >>CC.diff
patch -p1 <CC.diff
但是,我会丢失与 CC 相同的变更集的信息,我只是创建一个恰好做同样事情的新变更集。
有没有更适合存储库的方法?
【问题讨论】:
您可以使用 hg transplant 扩展名挑选变更集。
transplant 可以在由于某种原因无法进行完全合并时使用。但是,由于它的副作用,在您的日常工作流程中依赖它是 not recommended。
编辑:此功能是 Mercurial 2.0 版以来的核心功能 (hg graft)。
【讨论】:
transplant 现在所做的或多或少是自 Mercurial 2.0 以来由原生 graft 完成的。 (我试图将它包含在答案中,因为那是我最终使用的,但不,无论出于何种原因,编辑被丢弃 [gg])