SVN代码审查,无SVN分支

SVN代码审查,无SVN分支,svn,trac,Svn,Trac,我目前正在和一些有经验的程序员和一些业余程序员一起做几个项目。我们以前在网络目录中工作,但我们决定切换到SVN来管理代码 我们还希望在将代码添加到生产服务器之前,检查提交到存储库的代码。 我们尝试了类似于Trac的方法,但这些方法要么没有阻止代码在通过之前被添加,要么没有分支就无法工作。而且我们无法学习业余开发者开始使用分支 有人知道一个适合我们的系统吗 非常感谢一种选择是使用类似的软件来管理代码审查。审查委员会项目本身就是这样做的。如果您想贡献一些东西,就不能直接提交到存储库(写访问权限仅限于

我目前正在和一些有经验的程序员和一些业余程序员一起做几个项目。我们以前在网络目录中工作,但我们决定切换到SVN来管理代码

我们还希望在将代码添加到生产服务器之前,检查提交到存储库的代码。 我们尝试了类似于Trac的方法,但这些方法要么没有阻止代码在通过之前被添加,要么没有分支就无法工作。而且我们无法学习业余开发者开始使用分支

有人知道一个适合我们的系统吗


非常感谢

一种选择是使用类似的软件来管理代码审查。审查委员会项目本身就是这样做的。如果您想贡献一些东西,就不能直接提交到存储库(写访问权限仅限于一小部分人)。您必须签出代码的副本,进行更改,并将更改作为补丁提交给代码审阅。评审完成后,评审委员会的一名维护人员将下载评审请求的最终补丁,并将其提交到存储库。贡献者无需创建分支或类似的东西就可以完成所有这些

这种方法的缺点是它涉及一些额外的工作(必须有人下载并提交补丁)。不过,通过一些巧妙的脚本编写,您可能可以自动化此过程的大部分


这种方法的一种变体是要求trunk提交指示代码审阅ID号(类似于
[review 1234]
的方法可以工作)。没有代码审阅ID的任何提交都将被存储库的预提交钩子脚本拒绝。该脚本还可以解析出审查ID号,在审查委员会中查找代码审查,并验证是否有人已经签署了更改。如果没有高级开发人员签署,脚本将拒绝提交。这种方法允许您的开发人员在不需要第三方干预的情况下进行自己的提交,但它需要一个非常复杂的钩子脚本。

相关:(但不重复)获得更好的业余开发人员,他们可以学会使用分支。如果您只是为他们删除对主干的写访问权限,那就是游泳或溺水。实际上,这并不难。这里有更多的讨论:SVN支持限制对分支的访问吗?我一点也不确定。如果是这样的话,或许业余程序员只能访问分支,从而消除了培训问题。我想到的另一个想法是像Git这样的分布式风投:拥有一个人人都承诺的“肮脏”回购协议;并手动(在审核后)将更改拉入生产回购。但是,Git当然有一个学习曲线。。。还有更有趣的事情,在提交之前用谷歌搜索svn存储库审查,以防什么都没出现here@Pekka웃: 是的,可以限制对分支/任何目录的访问。