我想将我的一个Mercurial存储库拆分为两个单独的存储库。特别是,我想获取一个位于存储库根级别的目录,并将其转换为自己的存储库。
我最初想到如何执行此操作是告诉现有存储库忘记该特定目录,将目录添加到.hgignore,然后将目录转换为它自己的存储库。但是,我想保留新存储库中目录的历史记录。
我怎样才能做到这一点?
答案 0 :(得分:3)
Convert extension将执行此操作。请参阅Converting from Mercurial部分
过滤Mercurial存储库以获取其子集也很有用 现有的。例如,转换a的子目录subfoo 存储库foo进入具有自己生命的存储库(同时保留它 完整的历史),执行以下操作:
$ echo include subfoo > /tmp/myfilemap
$ echo rename subfoo . >> /tmp/myfilemap
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo