Mercurial-具有自定义目标的“ hg嫁接”?

时间:2019-04-12 01:41:19

标签: mercurial rebase cherry-pick

是否有一种方法可以将提交移植到当前版本以外的其他地方?

文档听起来好像没有:

  

汞移植[OPTION] ... [-r REV] ... REV ...

     

从其他位置复制提交

我看不到任何可以传递给hg graft的参数。尽管hg rebase允许使用-d标志,但hg graft不允许,对此我感到很惊讶。就像有时候我想将分支重新定位到当前修订版本以外的其他地方一样,有时我想要将分支移植到当前修订版本以外的其他地方。

2 个答案:

答案 0 :(得分:1)

您可以使用rebase扩展来实现此目的。进行hg rebase -r <rev> -d <dest> --keep的基础调整,同时保持旧版本。

答案 1 :(得分:1)

根本上答案是“否”,但是您仍然可以获得想要的效果。

graft的帮助文本为“将其他分支的更改复制到当前分支 ”表示如果您首先更新目标变更集,则可以获得所需的结果。

大概您想使用嫁接来制作一个实际的副本,而要变基则可以“移动”变更集。因此,尽管需要几个步骤,但这将获得结果。

总结:

hg up <destination revision>
hg graft <source revision>
hg up tip