2

我想通过高级开发人员检查初级开发人员的代码,然后再将他们的代码提交给 SVN。如何使用 SVN 管理它?我的观点是高级开发人员通知初级开发人员想要提交他们的代码(例如通过电子邮件),在他们确认后,代码提交。我们的 SVN 在 windows 服务器上

谢谢你。

4

3 回答 3

1

有两种可能:

  1. 您可以使用 SVN 中的分支和 --reintegrate 选项将它们自动合并回主干。只要你遵循一些规则(你可以弯曲它们,你可以打破它们,但你会遇到困难),这会很好地工作:

    • 从不进行任何子树合并(合并子目录;仅在主干或分支级别合并)
    • 永远不要在不同的分支之间合并,除了您要分支的路径(通常这将是主干)。所以没有同事的交叉分支。
    • 始终将分支中的所有提交合并到主干中,并始终从主干完全同步您的分支。所以没有樱桃采摘
    • 通过遵循这些规则,您可以轻松合并并保持树干清洁,而无需使用任何修订号。有关更多详细信息,请参阅svnbook/merging
    • 这也意味着集成合并(从开发人员分支到主干)始终没有冲突,因为所有更改(在主干中)通常由开发人员事先合并。如果主干维护者在合并期间遇到冲突,他会拒绝分支并告诉开发人员从主干同步合并以解决其分支上的冲突
    • 您应该保护主干免受初级开发人员的提交,但这对于整个过程既没有必要也不重要
    • 另请参阅https://stackoverflow.com/a/7387277/23264了解更多信息(带有一些花哨的 ascii 艺术)
  2. 您可以接受人们发送的补丁。这是一个非常手动的过程,但这取决于您拥有多少初级开发人员。请注意,虽然这听起来不可能,但整个 svn 开发过程通过将补丁发送到邮件列表来工作,直到您发送的补丁足以获得提交者权限。

于 2017-12-19T11:47:36.843 回答
1

Subversion 不直接支持“代码审查”模型,就像您可能习惯的 GitHub 拉取请求一样。这里有一些附加工具可能会有所帮助,但我不能推荐任何工具,因为我从未使用过它们。

您可能想要尝试的是让开发人员在他们自己的分支中工作并承诺,然后要求高级开发人员进行审查,然后合并到中央主干或其他分支。

于 2017-12-18T15:47:43.753 回答
1

你可以让你的初级开发人员只在分支上工作,并阻止他们致力于主干。您可以通过在 SVN 服务器上设置对特定 repo 路径的权限,或者通过编写预提交挂钩来做到这一点。

如果您使用的是 VisualSVN 服务器,您可以在此对话框中配置它:

VisualSVN 服务器路径属性

在这个例子中,我通过设置一个覆盖权限来作弊。对于较大的团队,您需要更具可扩展性的东西,您可以在 repo 上设置只读权限,然后为开发人员明确授予对 /branches/ 的访问权限,为高级开发人员授予 /trunk/ 的访问权限。

于 2017-12-20T15:40:52.450 回答