嵌套版本控制方案?

Mid*_*ing 5 svn git version-control

寻找有关如何在某种版本控制(git或svn,最好)中最佳跟踪此项目结构的建议:

该项目适用于具有多个版本的"核心"代码的Web服务,用户可以使用他们喜欢的(可用版本)的"核心"创建他们的Web服务实例.这样,开发/测试版本将与稳定版本存在于同一服务器上.

因此存在多个"核心",并且在版本控制中可能是不同的版本/标签/分支.但是,有一个总体的Web界面将它们链接在一起,这些Web界面需要是自己的附加版本控制项目,用于这些Web文件.

从结构的角度来看,它看起来像:

/-+
  |
  +--index.php
  +--engine/
  |  |
  |  +--1.0-stable/
  |  |  |
  |  |  +--feature.php
  |  +--2.0-beta/
  |     |
  |     +--feature.php
  +--main.css
  +--main.js
Run Code Online (Sandbox Code Playgroud)

因此,index.php,main.cssmain.js是自己的"项目",这是Web界面的一部分,同时2.0-beta是一个独立的开发分支,它的更新最终会合并成一个2.0-stable分支,以及任何修补程序,以feature.php在1.0分公司将需要合并进入ito 2.0 feature.php文件.

我可以在回购中创建回购吗?如何最好地管理这个?

svi*_*ick 3

如果您的目录结构不必如此,我将有两个存储库:一个用于引擎,一个用于基础设施。引擎存储库有两个(或更多)分支,每个分支都有基础设施存储库作为子模块(对于 git;如果使用 SVN,则为 svn:externals)。

这样,您可以在引擎分支上正常工作,但基础设施的更改是共享的。当然,如果需要的话,没有什么可以阻止您稍后创建更多基础设施分支。