Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在拥有一个构建自动化服务器和一个QE团队的大型团队中使用SVN_Svn_Tortoisesvn_Build Automation_Branching And Merging - Fatal编程技术网

如何在拥有一个构建自动化服务器和一个QE团队的大型团队中使用SVN

如何在拥有一个构建自动化服务器和一个QE团队的大型团队中使用SVN,svn,tortoisesvn,build-automation,branching-and-merging,Svn,Tortoisesvn,Build Automation,Branching And Merging,我有一种情况,对此有点困惑 详情如下:- 假设我有一个构建自动化系统,两个开发团队a和B以及一个QE团队来验证构建 我还有SVN用于源代码管理。我的后备箱是稳定的,是在生产中运行的。 现在,对于并行开发,我创建了两个特性分支,Abranch用于团队A的特性,Bbranch用于团队B的特性。两人都开始在他们的分支中使用他们的大功能,并且一切看起来都很好。 现在问题来了 1 QE应该在哪里测试这些特性?我只有一台QE服务器和一个QE数据库 我们选择开发人员应该制作一个小的、稳定的、可发布的功能子集,

我有一种情况,对此有点困惑

详情如下:-

假设我有一个构建自动化系统,两个开发团队a和B以及一个QE团队来验证构建

我还有SVN用于源代码管理。我的后备箱是稳定的,是在生产中运行的。 现在,对于并行开发,我创建了两个特性分支,Abranch用于团队A的特性,Bbranch用于团队B的特性。两人都开始在他们的分支中使用他们的大功能,并且一切看起来都很好。 现在问题来了

1 QE应该在哪里测试这些特性?我只有一台QE服务器和一个QE数据库

我们选择开发人员应该制作一个小的、稳定的、可发布的功能子集,并将其合并到主干上,继续在分支上工作。构建自动化将生成包含更改的构建,并将其部署到QE服务器上进行验证。目前看来不错,但

假设团队A制作子功能并合并到主干。现在正如SVN图书所说

…思考这种模式的另一种方式是你的每周 主干到分支的同步类似于在 工作拷贝,而最后的合并步骤类似于运行svn 从工作副本提交

B组将主干的更新带到那里的分支。过了一段时间,他们也在那里做了分片,并合并到主干上。现在QE正在一次构建中测试两个子功能,一个来自团队a,一个来自团队B。到目前为止仍然很好

现在,无论出于什么原因,QE都认为团队A的子功能不适合投入生产,而QE只能发布团队B的任务。现在问题出现了,因为团队B的合并包含了团队A的变更,正如我们在SVN手册中看到的,当A合并了他们的子功能时,用主干更新了团队B的featue分支


2如何处理这种情况?

答案可能是其中之一,但头痛程度最小:

附加的QA分支,仅包含来自功能分支的合并集合并,并在通过QA测试和跨分支合并后作为合并到主干的单一来源。从版本中排除之前通过QA测试的功能必须通过相应合并集的反向合并从QA分支中删除