移植到一个变更集中

时间:2010-08-10 09:34:50

标签: mercurial changeset transplant

我正在尝试将更改从几个更改集移动到另一个分支上的一个更改集。我想跳过之间还有其他变化,所以我不想简单地合并所有内容。

hg transplant正确地移动了更改,但现在我想将它们压缩成一个提交。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以通过

折叠它们
  1. 备份存储库,在此过程中失败可能会破坏数据
  2. 将所需的更改移植到目标分支
  3. 将它们转换为mercurial队列(hg qimport -r first-to-fold-rev:
  4. 将它们折叠成一个补丁(hg qpop,直到第一个补丁被应用,然后hg qfold <<patch name>>以下补丁进入此补丁
  5. 编辑提交消息(当 NO OUTSTANDING CHANGES hg qrefresh -e时)
  6. 将单个补丁应用于您的存储库(hg qfinish -a)。
  7. 当有更多展开的补丁时:
    1. hg qpush直到头部补丁
    2. hg qfinish -a
    3. 查看新的回购状态(hg glog / hg incoming

答案 1 :(得分:1)

hg rebase有一个'--collapse`选项。我想这就是你要找的东西。