1

我想将我的 Mercurial 存储库之一拆分为两个单独的存储库。特别是,我想获取一个位于存储库根级别的目录并将其转换为它自己的存储库。

我对如何执行此操作的最初想法是告诉现有存储库忘记那个特定目录,将目录添加到 .hgignore,然后将目录转换为它自己的存储库。但是,我想在新存储库中保留目录的历史记录。

我怎样才能做到这一点?

4

1 回答 1

3

使用 --filemap 选项转换扩展名即可。请参阅从 Mercurial部分转换

过滤 Mercurial 存储库以获取现有存储库的子集也很有用。例如,要将存储库 foo 的子目录 subfoo 转换为具有自己生命的存储库(同时保留其完整历史记录),请执行以下操作:

$ echo include subfoo > /tmp/myfilemap
$ echo rename subfoo . >> /tmp/myfilemap
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo
于 2012-11-15T19:17:46.327 回答