Mercurial:将文件集合移动到不相关的存储库

时间:2011-10-10 15:04:37

标签: mercurial

我有一堆文件,它实际上是一个c#项目和与之相关的文件,整个hg存储库是一个包含许多项目的解决方案。 我需要将这些(带有历史记录)移动到另一个现有的存储库。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

说,你有A和B存储库。您的目标是在A中提取“a”文件夹并将其与B合并以生成B_with_a,同时保留历史记录。

1)在A中提取'a'并制作Aa。你可以用hg convert:

来做到这一点

~$ hg convert A Aa --filemap list.txt

其中list.txt是

include a

2)将Aa拉到B - 使B_with_a_yet_merged。你必须使用-f,因为它们不相关。

~/B$ hg pull ./../Aa -f

3)合并B_with_a_yet_merged中的两个分支以生成B_with_a

~/B$ hg merge (with the last rev in Aa)

PS。 不要忘记事先备份A和B!当我第一次这样做时,我搞砸了三次存储库。

答案 1 :(得分:0)

在找到hg命令之后,我发现了捆绑,似乎已经成功了。更多细节

更新:试过这个并没有奏效。当我解开它时它带来了文件,我能够合并,但由于某种原因,图表已关闭。 我只是想发布完整性