1

我有两个不同的 Mercurial 存储库,每个都有自己的历史。有没有办法将两者合并到一个存储库中,该存储库也具有两者的完整历史?

4

2 回答 2

2

-f您可以使用标志将一个拉入另一个:

> cd path\to\repo1
> hg pull -f path\to\repo2
> hg merge

.... deal with merge conflicts ....

> hg commit -m "Merge with repo2"
于 2012-08-24T12:59:28.130 回答
1

也许。试试这个方法:

  1. 克隆回购 #1
  2. hg export使用from repo #2创建一组补丁
  3. 使用将补丁导入克隆hg import

当两个存储库具有公共文件时,这将失败。这里的解决方案是使用hg patch.

背景:Mercurial 为每个变更集创建一个校验和。这个强加密校验和包含修改日期、用户名、父变更集的校验和和补丁。

这意味着如果您尝试将变更集从一个 repo 复制到另一个 repo,这将失败,因为找不到父变更集。由于校验和,添加父变更集并不容易。

于 2012-08-24T12:33:23.553 回答