Mercurial,改变变更集的分支

时间:2014-01-24 16:36:36

标签: mercurial branch

我的Mercurial存储库中有2个分支。 ' 默认'和' 其他'

默认分支A - B - C - D

其他分支E - F

我需要将B变换集移动到其他分支。 所以它看起来像这样:

默认分支A - C - D

其他分支E - F - B

有可能吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

基于移植的解决方案

  • 移植(hg help graft)B到目标分支
  • 从源分支中移除(组合扩展名)B(移植仅制作变更集的副本,而不删除原始文件)

基于Rebase的解决方案

  • 将B基地重新设置为other分支
  • 因为rebase移动也是重新设定的变更集的后代 - 将rebase C转回default

答案 1 :(得分:1)

以下解决方案不需要启用任何扩展程序。但它确实假设存在patch实用程序。

默认

$ hg diff -c B > diff.out
$ hg backout --merge -r B
$ hg merge
$ hg ci

其他分支上:

$ patch -p1 < diff.out
$ hg ci