如何在subversion中管理多个发布分支?

mez*_*oid 7 svn version-control tortoisesvn release-management

在我工作的公司,我们使用subversion和TortoiseSVN来管理我们的源代码.每个项目都从主干分支出来.当我们需要为发布集成不同的项目时,我们创建一个发布分支,其中包含将被集成,测试和部署到生产的代码.通常我们只有一个发布分支.

然而,最近,其中一个项目中的一些项目被推迟,并计划进入下一个版本.因此,有人要求创建第二个版本分支以保留延迟的更改并防止它们合并到当前版本中.

到目前为止,这已经给我们带来了很多悲伤和许多树冲突,因为未来版本分支中的某些项目依赖于当前版本分支中的项目.我们能够解决这些问题的唯一方法是等到部署当前版本,将发布分支合并到主干,将主干合并到未来发布分支,然后将更改从项目分支合并到未来发布分支.

由于这个问题我们不得不建议我们永远不应该有多个发布分支,因为它会导致合并问题.

但是,我想知道这是否是正确的方法.有谁知道是否有可能在subversion中管理多个发布分支?当然,必须能够管理延迟而不会影响合并能力的功能.

有没有人对我提出的你愿意分享的情景有任何经验?我想知道如何改进我在工作场所管理版本的方式,这样就不会再发生了.

Jim*_*m T 9

说实话,我不完全确定你的系统是如何工作的.但是,我过去必须管理多个实时版本的项目.我们这样做的方式是:

  1. 没有任何东西被释放,而不是先在行李箱中.
  2. 每个版本都有自己的版本分支.
  3. 更新版本分支的唯一方法是从trunk合并.

这样我们就可以选择哪个版本的功能.使用合并跟踪,它还让我们构建一个网页,以图形方式向我们展示了哪些内容.

关键是有一个完全集成的分支,你可以选择 - 这是我对trunk的定义.

这不是一个完美的系统.如果你跳过了版本,那么依赖会让事情变得棘手,我们真的需要图形化的东西来向我们展示它在哪里,但整体看起来效果很好.

另见这里的答案.