We are currently determining if we would move CVS and VSS projects to a single SVN server.
I've been using SVN for a long time now but is forced to use CVS and VSS for work stuff.
Would you please help me give reasons why moving to SVN would be better than buying a VSS 2005? And also what the benefits of moving from CVS to SVN would be?
We have projects in C#.NET/Java/Perl/Visual Basic.
Beyond the cost difference what more can i say to the bosses to convince them to move to svn.
And is there a way to preserve the histories of the VSS and CVS when moving to SVN?
This is one of those questions that requires a lot of details, but it will boil down to "Why do you like using SVN?" and what you can use from the "like" list to present to your boss.
I've used all three. I can only speak for my own experiences and bias. My usage history is VSS --> CVS --> SVN
CVS
Pros:
Cons:
My main beef with it was client software. I found all of the client software incoherent and disjointed. I absolutely hated using it.
VSS
Pros:
Cons:
Subversion
Pros:
Cons:
I'm guessing that since your bosses want to buy VSS2005, that this will be running on Windows. My recommendation is that you stick with one of these 3 Subversion distros/packages
General Subversion installation package: CollabNet Subersion - http://www.open.collab.net/downloads/subversion/ This will install both svnserver.exe (custom server) and Apache/WebDAV or you can choose which one to install during setup. You'll be able to serve your repositories using both http:// and svn:// protocols.
Subversion plus Administration console: VisualSVN Server - http://visualsvn.com/server/ They do their own Subversion distribution. This package has a Microsoft Management Console (MMC) snapin to manage the server. This one will help you setup permission against you Active Directory tree. This is mainly geared towards http:// protocol.
Subversion Administration console: PainlessSVN - http://www.painlesssvn.com This one will only work with svnserve.exe (custom server). It's a Microsoft Management Console (MMC) snapin that will manage the settings, and users. This is mainly geared towards the svn:// protocol.
Tom Ritter gave some very good links to tools that will import history and code from CVS/VSS to Subversion.