我想在Mercurial中存储一个包含来自Git和SVN存储库的外部代码(可由我修改)的项目。在SVN中,我会用vendor branches来解决这个问题,然后复制代码,但我知道在Mercurial it's better to have different repositories for different projects中,并在需要时将它们拉出来。来自外部储存库的Mercurial“供应商分支机构”?
项目布局将是这样的:
- externalLibraryA [comes from a SVN repo] - ...with some extra files from me - externalLibraryB [comes from a SVN repo] - ...with some extra files from me - externalPluginForExternalLibraryB [comes from a Git repo]
在Subversion中我会trunk
创建vendor
目录和trunk
目录,首先复制所有外部库在vendor
,然后在正确的地方。 (我认为)我也可以在Mercurial中做到这一点,subrepositories,但这是做到这一点的最好方法吗?
我试着为外部库设置不同的存储库,但似乎我不能将externalLibraryARepo
拉到我主要存储库的externalLibraryA
目录中?它进入主目录,这不是我想要的。我也可以创建一个Mercurial镜像库,并将其作为子库放入我的主库中,但是这个子目录中的更改会转到镜像库,而我希望它们留在主库中。