hg:合并单个变更集而不是整个树

o0'*_*0'. 3 merge mercurial

假设我有匿名分支AA和BB.

在AA分支中有一个变更集CC,我想将其合并到BB中,而不会引入所有父母.

这样做会有效:

hg diff -c CC >>CC.diff
patch -p1 <CC.diff
Run Code Online (Sandbox Code Playgroud)

但是,我会丢失与CC相同的变更集的信息,我只是创建一个新的,恰好做同样的事情.

有更多的存储库友好的方式去吗?

miz*_*izo 6

您可以使用hg transplant扩展程序来挑选变更集.

transplant由于某种原因你不能完全合并时很好.但是,由于其副作用,建议不要在日常工作流程中依赖它.

编辑:此功能是hg graftMercurial自2.0版以来的核心功能().

  • 显然,自从Mercurial 2.0以来,"移植"现在所做的或多或少都是由本土的"移植"完成的.(我试着将它包含在答案中,因为那是我实际上最终使用的,但是没有,因为编辑被丢弃的原因[gg]) (3认同)