【发布时间】:2012-08-24 12:12:49
【问题描述】:
我有两个不同的 Mercurial 存储库,每个都有自己的历史。 有没有办法将两者合并到一个存储库中,同时拥有两者的完整历史记录?
【问题讨论】:
标签: mercurial merge repository
我有两个不同的 Mercurial 存储库,每个都有自己的历史。 有没有办法将两者合并到一个存储库中,同时拥有两者的完整历史记录?
【问题讨论】:
标签: mercurial merge repository
您可以使用-f 标志将一个拉入另一个:
> cd path\to\repo1
> hg pull -f path\to\repo2
> hg merge
.... deal with merge conflicts ....
> hg commit -m "Merge with repo2"
【讨论】:
mkdir foo; hg rename * foo。
repo2 中,您将执行mkdir repo2; hg rename * repo2; hg commit -m "Move repo2 files into a subfolder",然后按照我上面的说明进行操作(尽管除非您在repo1 中已经有一个repo2 文件夹,否则不会有合并冲突)
也许吧。试试这个方法:
hg export 创建一组补丁hg import将补丁导入克隆
当两个 repos 有公共文件时,这将失败。这里的解决方案是使用hg patch 应用失败的补丁。
背景:Mercurial 为每个变更集创建一个校验和。这个强加密校验和包含修改日期、用户名、父变更集的校验和和补丁。
这意味着如果您尝试将变更集从一个 repo 复制到另一个 repo,这将失败,因为找不到父变更集。由于校验和,添加父变更集并不容易。
【讨论】: