除了SVN,您如何管理您的开发与测试与生产源代码?

时间:2010-03-24 07:29:24

标签: java svn

我正在开发一个包含三个源代码阶段的大型项目。

  • 开发源代码:每秒快速更改,并通过我们的质量检查
  • 进行检查
  • 测试环境代码:发布到客户的QA部门(每2-3周发布一次)
  • 生产环境:经客户QA确认无误后,将其发布给prod。 (每隔几个月)

系统(政府网络应用程序)非常大,可以跟踪更改,错误和热修复,有时测试人员可能会要求更改,有时候生产可能会要求热修复或小更新。

问题是,当测试或生产请求发生变化时,开发代码已经发生了很大变化,并且他们总是警告我们他们只需要那么小的修复,不要上传任何新内容。

问题是,我应该如何管理3个阶段的代码,并回到测试或生产代码任何领带并修复那个小问题(反映当前开发的变化)?

注意:每次制作分支都太多了,我不希望开发人员在更新主流,分支和测试代码之间迷失方向!

4 个答案:

答案 0 :(得分:4)

从提供给Test或Production的特定修订中签出,然后将更改合并到dev。

答案 1 :(得分:2)

不是为每个请求分配主干(包括与快速更改或修复无关的新代码),如果从prod标签分支并进行更改,那么测试,qa并重新部署它。

答案 2 :(得分:2)

其实我觉得你应该有三个分支   *开发(主干)   *质量保证   * PROD

合并“非常简单”(因为可以轻松合并),因为您始终必须从QA合并到DEV以及从PROD合并到DEV。 这是我们在许多项目中使用的相当常见的设置。

编辑: 通常情况下,您不会再次在QA和PROD上进行分支。

答案 3 :(得分:1)

  

每次制作分支都太多了,我不希望开发人员在更新主流,分支和测试代码之间迷失方向!

从每个补丁的主干分支是不必要的(并且它不会执行您的测试/产品团队需要的)。但是,您无法完全避免分支,也无法避免您的员工不得不在多个分支机构工作。

您应该能够将活动分支的数量保持为(比方说)一个用于生产中运行的版本,一个用于测试人员正在处理的版本。