繁体   English   中英

svn高级开发人员在提交代码之前进行确认

[英]svn senior Developer confirmation before commit codes

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

谢谢。

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

您可能想尝试的是让开发人员在自己的分支机构中工作并作出承诺,然后请高级开发人员进行审核,然后合并到中央干线或其他分支机构中。

有两种可能性:

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

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

您可以使初级开发人员仅在分支上工作,并停止将它们提交到主干。 您可以通过设置SVN服务器上特定回购路径的权限或编写预提交挂钩来实现。

如果您使用的是VisualSVN Server,则可以在此对话框中对其进行配置:

VisualSVN服务器路径属性

在此示例中,我通过设置覆盖权限来欺骗。 对于较大的团队,您希望具有更高的可扩展性,您可以在存储库上设置只读权限,然后显式地授予开发人员对/ branches /和高级开发人员对/ trunk /的访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM