【发布时间】:2012-11-15 18:24:28
【问题描述】:
我想将我的 Mercurial 存储库之一拆分为两个单独的存储库。特别是,我想获取一个位于存储库根级别的目录并将其转换为它自己的存储库。
我对如何做到这一点的最初想法是告诉现有存储库忘记那个特定目录,将目录添加到 .hgignore,然后将目录转换为它自己的存储库。但是,我想在新存储库中保留目录的历史记录。
我怎样才能做到这一点?
【问题讨论】:
标签: mercurial
我想将我的 Mercurial 存储库之一拆分为两个单独的存储库。特别是,我想获取一个位于存储库根级别的目录并将其转换为它自己的存储库。
我对如何做到这一点的最初想法是告诉现有存储库忘记那个特定目录,将目录添加到 .hgignore,然后将目录转换为它自己的存储库。但是,我想在新存储库中保留目录的历史记录。
我怎样才能做到这一点?
【问题讨论】:
标签: mercurial
Convert extension 带有 --filemap 选项就可以了。见Converting from Mercurial部分
过滤 Mercurial 存储库以获取 现有的。例如转换一个子目录 subfoo 存储库 foo 进入具有自己生命的存储库(同时保持其 完整历史记录),请执行以下操作:
$ echo include subfoo > /tmp/myfilemap
$ echo rename subfoo . >> /tmp/myfilemap
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo
【讨论】: