SVN良好实践(分支机构)

时间:2010-03-10 16:26:24

标签: svn

我们的应用程序目前由两个大实体组成:C#ASPX文件和RPT报告模板文件。

ASPX文件是由某人开发的,而RPT文件是由其他人开发的。

这两个世界并不同步。例如,您可以为RPT模板添加10个新版本,而只有一个版本在C#文件上完成。

有没有办法将SVN中同一项目的两个开发部分逻辑流分开?是否应将所有内容保存在同一存储库中? SVN分支机构是否会成为一个很好的应用程序?

我看待它的方式是将所有目录放在同一个应用程序中,

  • /ModuleA/Main.aspx
  • /ModuleB/Admin.aspx
  • /ReportTemplates/Generic.rpt

任何指导都将不胜感激!

谢谢

4 个答案:

答案 0 :(得分:4)

如果它们属于同一个项目,则它们应位于同一个存储库中。你真的不需要分支;一个人可以使用RPT模板,另一个人可以使用ASPX文件,每个人都可以互相改变。

如果您需要在相同的文件上维护两条或更多条开发线,分支就会发挥作用。但是你所描述的是Subversion的标准,正常用例,并且不需要使用分支。

答案 1 :(得分:1)

属于同一项目的文件应该进入同一个存储库,除非某些文件也可以在另一个项目中使用(那么你必须考虑为公共代码创建一个单独的存储库并使用{{ 1}}要在其中部分链接的功能。)

分支机构与您划分代码的方式无关。分支用于在主干之外随时间对代码进行以下更改,允许开发人员定期签入分支。

答案 2 :(得分:1)

如果ASPX和RPT文件彼此依赖(例如,一个中的更改可能会破坏另一个),并且执行提交的人员在提交之前未验证应用程序的功能,您实际上可能需要单独使用分支机构,以便您可以隔离突破性变化的潜在影响。然后你会有一个人被指定为集成商,他会在提交之前进行合并和确认功能。

然而,在正常的工作流程中,这些更改都将提交给相同的repo和分支,并且在提交之前可以合理地确认功能,理想情况是通过与构建脚本一起运行的单元测试。

答案 3 :(得分:1)

这不适合分支。分支更像是你有相同但不同的代码(传统或发布或其他)

我说你应该把所有这些文件都放在trunk中,而不用担心分支,直到你需要对发布或类似版本进行重大更改或分支。

相关问题