SVN设置并重新集成功能

时间:2013-04-02 12:48:16

标签: svn

我们的客户希望拥有我们正在开发的源代码。作为其中的一部分,他们选择了SVN。他们希望我们在最后开发代码。

他们提出了以下结构。字母代表分支。 一旦DEV分支完成代码累积,他们想要一个名为QA的新分支来拥有该代码,以便QA团队可以开始对其进行测试。如果他们发现任何错误,DEV团队会更新DEV分支中的代码,QA会再次将他们的代码与DEV同步。

最后,代码将被发布到生产环境中,如果有任何错误,DEV-QA-Prod循环将再次出现。

A->B [DEV]----------
|\ |               |
|  C [ QA ]        |
|                  | 
|_______D[ PRODUCTION ]

我们对SVN来说比较新。所以,我们在这方面有几个问题。

1.一旦QA好转,B和C都或多或少都有相同的代码库。鉴于此,哪个分支应该集成回A?。它是B还是C或它根本不重要,因为它们都有相同的东西。

2.如果它确实是C,我们可以直接将另一个分支[B]的分支[C]重新集成到父[A]中吗?

谢谢, 帕。enter code here

2 个答案:

答案 0 :(得分:0)

如果QA只是针对它记录错误,我就不会创建QA分支,从不实际接触代码并向分支提交修复。为什么不给DEV分支的QA只读访问权限?这样,您就知道您只需要将DEV分支合并回trunk

如果QA 确实需要自己的分支DEV,因为他们将提交修复,那么合并路径应为:QA - > DEV - > trunk

我不确定您为何在QA后PROD分支trunk分支。为什么不简单tag trunk使用描述版本的版本号或名称?然后,假设在原始DEV分支上继续开发,并且如果在生产中发现错误,您可以在下一版DEV中推送修复(合并回trunk {post-QA},或在已标记的修订版本上创建一个单独的DEV分支trunk分支并在那里应用修复。

希望这有帮助。

答案 1 :(得分:0)

使用trunk作为开发结帐。 trunk中的代码应该是主副本,其中执行了错误修正和“安全”开发。

一旦您希望QA完成工作,请创建一个新标签,为其提供版本/内部版本号。

当质量检查发现错误时,主干上的代码是固定的。在QA测试运行时,不得对主干进行进一步的开发。 修复错误后,将创建一个新标记,并且必须再次运行QA测试。

如果你想在QA测试/错误修复周期运行时开发新功能,你应该创建一个新的分支,经常从主干合并它,以集成所有的错误修正:新功能的发布将包括在从分支到主干的合并以及新标签的创建中。等等。

QA可以使用svn switch命令从标签跳转到另一个:我想他们不会编写代码;标记在创建后不会被修改。