我想在 Mercurial 中存储一个项目,其中包含来自 Git 和 SVN 存储库的外部代码(可由我修改)。在 SVN 中,我会使用供应商分支来解决这个问题并复制代码,但我知道在 Mercurial 中,最好为不同的项目提供不同的存储库,并在需要时在它们之间拉取。
项目布局将是这样的:
- externalLibraryA [来自 SVN 存储库] - ...还有我的一些额外文件 - externalLibraryB [来自 SVN 存储库] - ...还有我的一些额外文件 - externalPluginForExternalLibraryB [来自 Git 存储库]
在 Subversion 中,我会创建vendor
dir 和一个trunk
dir,首先将所有外部库复制vendor
到trunk
. (我认为)我也可以在 Mercurial 中使用subrepositories执行此操作,但这是最好的方法吗?
我尝试为外部库设置不同的存储库,但似乎我无法将其拉入主存储库externalLibraryARepo
的externalLibraryA
目录?它进入主目录,这不是我想要的。我还可以创建一个 Mercurial 镜像存储库并将其作为子存储库包含在我的主存储库中,但是随后此子目录中的更改会转到镜像存储库,而我希望它们保留在主存储库中。