使用SVN管理项目承包商

时间:2009-11-28 16:54:27

标签: svn

在代码审查/管理变更等方面,您建议使用SVN作为使用远程/外部开发人员管理项目开发的方法?每个人都应该检查主干并为所有内容提供评论,还是人们使用补丁,分支机构或其他一些流程来管理这个问题?请提供任何建议,让您拥有一个由远程开发人员组成的小团队(5)向SVN提交工作,以及负责项目开发的一个人,负责审查代码更改等。 感谢

2 个答案:

答案 0 :(得分:2)

答案取决于:

  • 您对承包商的信任度是多少?
  • 您的团队需要多少努力 投入管理?

以下是一些情景:

不信任

  • 只读存储库访问
  • 无法访问主干
  • 使用补丁完成提交
  • 你团队中的某个人会管理 补丁

中等信任

  • 读写里程碑分支
  • 承包商提交里程碑 分支。
  • 您团队中的某人合并到发布分支

完全信任

  • 完全访问主干
  • 负责合并的承包商 他们的改变

至于最佳做法,我建议如下:

  • 跟踪刻录的里程碑 图表或您选择的系统
  • 让每个人都提出意见 (可以使用Subversion钩子 此)
  • 对齐代码提交到特定的 管理系统中的物品/票证 比如FogBugz,OnTime等。
  • 大型功能或里程碑应该 有自己的分支。合并到主干 功能/里程碑之一 由您团队中的某人验证。

只有一些想法。您必须找到最适合您的团队成员和承包商的组合。

答案 1 :(得分:1)

这取决于项目的具体情况。是一个团队组装完成一个项目并消失,还是一个持续的版本努力。发布时间表等。

我们更接近后者。这是我们的流程:

  • 对于相当大的新版本/功能,我们创建了一个单独的分支。
  • 开发人员可以检查代码 - 我们推动每个签到都有评论。
  • 为了与主干保持同步,分支所有者负责将主干合并到他的分支
  • 当功能/发布完成后,分支将进行代码审查并合并回主干
  • 删除分支。如果分支上的工作必须继续,则必须重新创建分支 - 这是由于SVN限制

修改

详细说明:

分支机构是持续发展的游乐场。每个开发人员(或更大功能的开发人员)负责他自己的分支,包括正确的签入程序(签入注释)以及与主干同步。

另一方面,行李箱是一个稳定的地方 - 在任何时候你都应该能够在行李箱上建立一个工作版本的应用程序。事实上,我们有一个CI流程,每次签入都会自动执行。

为了达到这种稳定性,改变永远不会直接进入行李箱(除非smth非常小而且非常紧急)。

主干修改过程是内部开发人员的责任。一旦分支的所有者宣布它已准备好生产,内部开发人员必须检查提交的代码(来自分支)并将其合并回主干。

合并后,分支变得无法使用,必须删除。