相关疑难解决方法(0)

来自外部存储库的Mercurial"供应商分支"?

我想在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中使用子存储库执行此操作,但这是最好的方法吗?

我尝试为外部库设置不同的存储库,但似乎我无法将其拉入主存储库externalLibraryARepoexternalLibraryA目录中?它进入主目录,这不是我想要的.我还可以创建一个Mercurial镜像存储库并将其作为子存储库包含在我的主存储库中,但随后该子目录中的更改将转到镜像存储库,而我希望它们保留在主存储库中.

version-control mercurial vendor-branch mercurial-subrepos

5
推荐指数
1
解决办法
792
查看次数

SVN关于分支和第三方供应商分支的问题

我们正在开发一个应用程序,包括:

  • 不常见的合作伙伴给我们的源代码库.这是一个有点工作的代码,某个东西的"最终"版本(我们在一个zip文件中得到它).他们有自己的发布周期和版本跟踪.
  • 在上面的代码库中,我们进行了更改.这些可以是错误修正或新功能的开发.

到目前为止,我们设法创建了一些代码混乱,因此我们希望将所有这些都放在SVN存储库中.我想问一下你认为最好的做法是什么,以减少痛苦发生.

以下是我们认为重要的事情:

  • 我们想跟踪我们的错误修正/更改,因为我们无法将错误修正发送给我们的软件供应商,但我们可以报告错误(他们可能会或可能不会修复它).我们在他们的代码上开发的所有内容仍然是"内部",他们对我们的更改不感兴趣.
  • 只要我们没有从供应商处获得新的代码库,我们认为他们的最新版本是我们正在努力的稳定版本.这可能会进一步分支,但结果总是一个稳定的主干,构建是基于这个"稳定"主干完成的.
  • 当供应商发布新版本时,我们希望将我们的"稳定"主干(包含许多更改)与其更改合并,从而创建一个新的"稳定"主干.
  • 对于我们部署的每个版本(对于客户端),我们以后应该能够修复仅在该版本上的错误,对于已使用该特定版本安装我们的系统的客户端
  • 有更多的开发人员在代码库上工作......(像往常一样:)

非常感谢您的提示.

svn branch vendor-branch

4
推荐指数
1
解决办法
205
查看次数