Tuesday, July 03, 2007

Subversion

I just want to say that I have been completely been bitten by the Subversion love bug. I've been using it for a little while. It's easy to maintain and use. Even the command line is a pleasure to work with. The API is simple and everything just works. I've yet to find anything painful. Why would anyone use CVS?

4 comments:

Unknown said...

The question I'm usually left with is why anyone would continue to use SourceSafe, when even CVS is a better alternative!

Blaine Buxton said...

No kidding. SourceSafe is just painful. I feel the same way about MKS as well.

Malcolm Sparks said...

I love the metaphor Blaine-

Sadly, not everything 'just works' with Subversion.

She may be a popular and pretty blonde but she has no short-term memory when it comes to merges- tell her some information and she'll just forget it if you decide to merge between the same branches again.

Try renaming a few files and directories across branches and then merging. This isn't common with some projects, but with Java projects it happens every time two developers rename the same package. Eugh!

I don't want to spoil the honeymoon, but the bitch even cheated on me! (Google code corrupted one of my repositories, I even have a written apology from them to prove it).

For me, Subversion is just the younger of two ugly sisters, whereas with Cinderella the shoe just seems to fit. Recently I've become completely smitten with her.

I had a one-night-stand with MKS in Norway once, not nice. But if you don't mind paying for it, I highly recommend BitKeeper. ClearCase is also in the 'high-class' category- she'll do anything you ask but be warned, she'll steal your wallet on the way out.

(I was going to add something about SourceSafe, but if I kept to the metaphor it would be too offensive to publish)

;)

Anonymous said...

Hopefully you'll be able to enjoy SVN in your timeandmoney contributions soon :-). I, too, greatly favor Subversion over CVS. I agree with Malcolm that the seams of SVN start to show when you get into non-trivial, multi-developer merges with concurrent modifications to resources within multiple branches.

Bazaar is waaay cool. But, within the mainstream, Bazaar is still largely unknown, and I certainly haven't seen it as a repository option on the maintstream open source forges like SourceForge, Tigris, Apache, etc.

One important distinction between Bazaar and Subversion is that Bazaar is a *distributed* version control system. This accounts for its dexterity in the merge function in comparison to SVN. Subversion makes no claims of being a distributed version control system. I have heard that SVK is supposed to be distributed VCS capability for Subversion, but have never tried it out.

Given the quality of the open source options, I can't say I'd ever desire to pursue one of the proprietary options. I can empathize with anyone who's had to live with MKS Source Integrity. I have a motto for MKS SI: "MKS, the most you'll ever pay for RCS."