我有两个不同的Mercurial存储库,每个存储库都有自己的历史记录。 有没有办法将两者合并为一个既有完整历史记录的存储库呢?
答案 0 :(得分:2)
您可以使用-f
标记将其中一个拉入另一个:
> cd path\to\repo1
> hg pull -f path\to\repo2
> hg merge
.... deal with merge conflicts ....
> hg commit -m "Merge with repo2"
答案 1 :(得分:1)
也许。试试这种方法:
hg export
创建一组修补程序
hg import
当两个repos有公共文件时,这将失败。这里的解决方案是使用hg patch
来应用失败的补丁。
背景:Mercurial为每个变更集创建校验和。这个强大的加密校验和包含修改日期,用户名,父变更集的校验和和补丁。
这意味着如果您尝试将变更集从一个仓库复制到另一个仓库,则会因为无法找到父变更集而失败。由于校验和,添加父变更集并不容易。