我正在寻找以前的经验和最佳实践,建立一个大型开发公司,将Subversion用作源控制存储库。
在这里,我指的是数百名开发者/用户!
答案 0 :(得分:5)
答案 1 :(得分:4)
我曾在团队中工作,该团队在3个地理位置和数百名开发人员以及100多个项目中实施了内部Subversion托管。一些关键的学习
使用Apache mod_svn而不是svnserve。然后,您可以将“subversion身份验证”链接到LDAP(或ActiveDirectory身份验证),以便团队不必再记住一个登录名和密码。
在同一服务器上创建多个存储库,而不是为每个项目创建具有不同子文件夹的大型存储库。这样简化了管理用户和访问控制的方式。此外,还简化了在完成项目时关闭和存档存储库的任务。
我们开发了简单的python cgi脚本来管理电子邮件通知和RSS源的用户,权限和svn-hook脚本。这些脚本有助于项目团队更快地接受svn。
您可以放置反向代理,并通过公司网络外部的“https”访问选择性地公开少数项目。通过这种方式,外部供应商/承包商团队可以获得对项目的控制访问权。
总的来说,我们将所有项目团队在大约一年内迁移到新系统(包括从CVS和Visual SourceSafe等现有系统迁移数据)。
答案 2 :(得分:0)
我工作的一家公司使用Subversion为数百名用户提供了自己的服务器。相反,它是来自Collabnet的托管服务。
答案 3 :(得分:0)
我已经看到数百名开发人员将CVS用于数百个项目,所以svn应该做得很好。我所知道的唯一问题是用于工作目录及其备份的磁盘空间。
答案 4 :(得分:0)
我完全同意Nitin Bhide。我的补充:
如果您曾经使用过CVS,SVN中的某些工作流程非常不同,例如供应商分支,这些在CVS中不存在,因为您刚刚删除了所有文件供应商文件夹并在里面复制新版本。这不再适用于SVN。
此外,如果你习惯了日食,那么像subclipse一样颠覆性的很多东西都是不同的。您应该训练用户习惯使用全局修订号作为CVS用户最难掌握的点
同样重要的是迁移策略,以避免在存储库迁移不成功的情况下开发工作站的停滞时间