I am seeking previous experience and best practices in setting up a large development firm to use Subversion as a source control repository.
By large here, I mean hundreds of developers/users!
Subversion is used for maintaining current and historical versions of projects. Subversion is an open source centralized version control system. It's licensed under Apache. It's also referred to as a software version and revisioning control system.
While SVN is no longer the most used VCS, it has managed to establish itself in a few very niche areas. Features like customizable access control to project files and a central server are some reasons why developers may still be using SVN.
SVN is better than Git for architecture performance, binary files, and usability. And it may be better for access control and auditability, based on your needs.
I have worked on team which implemented in-house Subversion hosting across 3 geographical locations and hundreds of developers and 100+ projects. Some key learnings
Use Apache mod_svn rather than svnserve. You can then link the 'subversion authentication' to LDAP (or ActiveDirectory authentication) to that teams don't have to remember one more loginname and password.
Create multiple repositories on the same server rather than one big repository with different subfolders for each project. This way managing users and access control is simplified. Also task of closing and archiving the repositories on finishing project is simplified.
We developed simple python cgi-scripts to manage users, permissions and svn-hook scripts for email notifications and RSS feeds. The scripts helped in faster acceptance of svn by project teams.
You can put a reverse proxy and selectively expose the few projects over 'https' access from outside the corporate network. This way external supplier/contractor teams can get controlled access the projects.
Overall, we moved all project teams in about one year to new systems (including migrating data from existing systems like CVS and Visual SourceSafe).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With