拉动并强制提交更改集

时间:2014-06-13 14:27:09

标签: version-control merge mercurial tortoisehg

我有以下情况:

存储库A:     1a - > 2a - > 3a - > 4a - >图5a

存储库B:     1b - > 2B-> 3b - >图4b

在回购B中,第一次提交是repo A PLUS修订版3a的快照。

我真的想在A中合并回购B,保留历史和关系,因为即使它们是两个独立的存储库,实际上它们是相关的。因为B从修订版3a的回购A开始 我需要的是在分支中将变更集从B拉到A:

1a - > 2a - > 3a - > 4a - >图5a

         |
         |

         1b -> 2b -> 3b -> 4b

我可以安全地覆盖3a'分支机构中的所有内容。因为1b是3a'的修改。 但是,当我使用force参数拉动时,它会继续作为非无关的变更集拉动,从而创建新的原点。 我怎么能告诉mercurial我想从B中取出变更集,好像我要提交它们一样?所以我可以保持这种关系。

我尝试了补丁队列,但是当我尝试应用它们时它会拒绝所有内容。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我假设补丁未按预期运行的原因是因为变更集3a1b之间存在差异。在了解(我希望!)您的更新后,我将继续这样做。

  1. 更新到主存储库中的3a
  2. 文件将1b的状态复制到其顶部并提交(作为3a1?)
  3. 将第二个仓库中的更改导出为一系列修补程序。
  4. 一次一个地将一系列补丁导入到ne分支。
  5. 将更改合并到小费中。
  6. (我认为这与您在评论“手工提交b1”中提到的内容很接近,但我想我会稍微扩展一下。)