我想在Mercurial中存储一个项目,该项目包含来自Git和SVN存储库的外部代码(可由我修改).在SVN中,我会用供应商分支解决这个问题并复制代码,但我明白在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中,我将创建vendordir和trunkdir,首先复制所有外部库vendor,然后在正确的位置复制trunk.(我认为)我也可以在Mercurial中使用子存储库执行此操作,但这是最好的方法吗?
我尝试为外部库设置不同的存储库,但似乎我无法将其拉入主存储库externalLibraryARepo的externalLibraryA目录中?它进入主目录,这不是我想要的.我还可以创建一个Mercurial镜像存储库并将其作为子存储库包含在我的主存储库中,但随后该子目录中的更改将转到镜像存储库,而我希望它们保留在主存储库中.
我们正在开发一个应用程序,包括:
到目前为止,我们设法创建了一些代码混乱,因此我们希望将所有这些都放在SVN存储库中.我想问一下你认为最好的做法是什么,以减少痛苦发生.
以下是我们认为重要的事情:
非常感谢您的提示.