我可以拆分Mercurial存储库吗?
我有一个很大的Mercurial存储库,我已经决定要好几个较小的存储库。 有没有办法,我可以拆分存储库,并让每一块保留其修订历史?
最好的方法是使用“convert”扩展名 。 你将使用mercurial和源和目标types,然后使用一个带有如下条目的--filemap
:
exclude path/you/do/not/want rename path/you/do/want .
重命名只有当你想要把你保留的部分移到目录层次结构中的“更高”时才需要。
我在这里find了详细的指南:
创build一个文件映射new-repo.filemap
如
include vendor/FooBackend rename vendor/FooBackend .
创build另一个文件映射rewrite-old-repo.filemap
:
exclude vendor/FooBackend
创build新的存储库:
hg convert /path/to/current/repo /path/to/new/repo --filemap new-repo.filemap
新的存储库现在已经完成。 该目录是空的,但是一个hg update
将使其内容加快。
创build修改的存储库:
hg convert /path/to/current/repo /path/to/rewritten/repo --filemap rewrite-old-repo.filemap
只需克隆它,并从每个副本中删除不需要的东西。