55

我有一个较大的 Mercurial 存储库,我认为作为几个较小的存储库会更好。有没有办法可以拆分存储库并让每个部分保留其修订历史?

4

3 回答 3

54

最好的方法是使用'convert' 扩展。您将使用 mercurial 以及源类型和目标类型,然后使用 a --filemapwith 条目,例如:

exclude path/you/do/not/want
rename path/you/do/want .

仅当您想要获取您保留的部分并将它们在目录层次结构中“更高”移动时,才需要重命名。

于 2008-11-03T04:14:54.890 回答
0

我在这里找到了详细指南:

创建文件映射new-repo.filemap,例如

include vendor/FooBackend
rename vendor/FooBackend .

创建另一个文件映射rewrite-old-repo.filemap

exclude vendor/FooBackend

创建新的存储库:

hg convert /path/to/current/repo /path/to/new/repo --filemap new-repo.filemap

新的存储库现已完成。该目录是空的,但 ahg update会加快其内容的速度。

创建修改后的存储库:

hg convert /path/to/current/repo /path/to/rewritten/repo --filemap rewrite-old-repo.filemap
于 2017-11-17T11:33:26.810 回答
-5

只需克隆它并从每个副本中删除不需要的东西。

于 2008-11-03T02:16:38.107 回答