mercurial:"克隆"只是一个文件夹中的一个文件到另一个文件库?

isy*_*ync 5 mercurial

我在这里有一个perl项目的mercurial/hg存储库,里面有很多模块.现在,我意识到一些模块,模块的一个分支,不再适合这个项目,但更适合另一个项目.

那么,是否可以将这些模块从repository1"克隆"到我的其他repository2中,同时保留这些模块的修订历史记录,同时将repository1中的模块标记为"已删除"?

我认为可以采取一系列措施.但我认为克隆整个repo1然后删除所有不必要的文件会使我的新repo2与许多不相关的修订历史混乱.但是,据我所知,"克隆"和"拉"命令它们都不适合克隆另一个存储库的一片,对吧?或者是否可以将文件从一个存储库"移动"到另一个存储库?我认为这就是我想要做的事情的类比.

Nia*_* C. 5

绝对!看看转换扩展,特别是Mercurial-to-Mercurial部分,它应该完全符合您的要求.

在拆分这些模块之后,您可以使用hg forget,hg remove从原始存储库中删除它们,甚至可以hg convert再次使用它们来创建没有它们的新存储库.