CVS versus SourceSafe

I recently got into a conversation with a coworker who want me to make the switch from SourceSafe to CVS . He had three reasons for why should I switch. CVS was free, it's more stable then SourceSafe,  and it's (almost) the new standard for the company.

This topic has come up before - when all the Unix guys made the switch from  SCCS to CVS - the big feature of CVS was that it was concurrent. I did a quick evaluation of CVS and it seemed like it was gonna be a lot of trouble to switch and once I learned that VSS does in fact support concurrent checkouts all the reasons switch evaporated.

But the conversation got me thinking - was I just being a stubborn ass in refusing to switch - was the ease of integration really worth the risk of the SS instability.

And I think it is.  The risk of the VSS database corruption is just that a risk. Tt might happen, it might not. If it does occur the damage will vary. From what I've seen their risk of the SS database corruption is low (but not zero) and the extetent of the damage is small . However switching has immediate unavoidable costs. First converting the database, then configuring CVS to understand windows development files - for example the .frm/frx VB6 file pairs. Learning the new commands, and there's the constant small irritation of having to think about source control rather than it just being a background feature.

I just learned from the daily grind about a new CVS SCC proxy. It didn't work for me, but such a thing could possibly change my opinion in the near future.

 

1 Comment

  • I big reason I don't like VSS is that it's handling and support of branching and merging is very cloogy. Creating a seperate physical copy of a codebase and calling that branching is pretty weak. And then merging one branch into another? Can't be done from my understanding of it. CVS is just more powerful and has better code management features than VSS. Plus, it stores its files in a non-proprietary, text based format.

Comments have been disabled for this content.