Subversion GUI Clients on the Mac

So I've been experimenting with some of the new Subversion clients for the Mac. Until yesterday that experimenting was with Versions, but they did something that drove me to investigating Cornerstone.

I use Subversion for my own personal version control system (VCS). The software ships with OS X, it is stable, and it is cross-platform. I know all the cool kids are messing about with git, mercurial, or bazaar but I don't need bleeding-edge stuff in my VCS, nor would I benefit from distributed storage. I'm reminded of when Subversion was first on the scene and I was still using CVS. There are things I want the latest and greatest of and things I want the "Hey we know this works and works well" and VCS is the latter.

One thing that has bugged me is that the state of OS X Subversion GUI's has historically been very poor. I've been using RapidSVN for OS X repository browsing, but believe me that's not a recommendation, just a statement of fact. For whatever reason several new svn GUI candidates have surfaced recently so I've been trying them. Versions was slightly earlier than Cornerstone and so I had been using the Versions betas for a while now. Versions is pretty cool but I haven't figured out how to handle branches with it and there's no documentation available and it's not even clear how to contact the developers from their web page. Major strikes!

While I was on vacation I had been doing some working through the Cocoa Programming book and I had a new project on my laptop. I hadn't checked it into Subversion but now that I was back yesterday I wanted to get the code on my desktop and work on it some more. So I fired up Versions, but the beta had expired (sigh). I downloaded the new version, but here's the kicker: the new version used Subversion 1.5 so if I used Versions I would have to upgrade all of the command line clients across the four machines I access Subversion from. Well no. This is a show-stopper people. I wanted to check in a handful of files and suddenly you're shoving an unannounced VCS upgrade down my throat in a "Sorry our old software stopped working" manner? Oh, and Xcode isn't compatible with svn 1.5? Fantastic! (In fairness I noticed today when I went to get the links for this post that there's a new version that supports Subversion 1.4 but still - they decided yesterday they didn't want to be my client, even for a day. You have to respect that sort of call when a developer makes it.)

So I installed Cornerstone and took it for a spin. I like it so far. The history view seems more elegant and somehow it was just more intuitive to set up. It's just like Versions in that there's no documentation, but at least they provide prominent "contact the developer" links. I don't see the GUI equivalent of svn switch, and quite frankly I'm not going to pay for a client that doesn't support that. If I have to drop down to the command line to do the complicated things then I might as well just stick with the command line. I sent the developers an email today inquiring about switch, so we'll see what they say.

Versions looks nice, but I don't like their support thus far and I can't recommend something with frequent beta "expirations" and cavalier "Let's all switch to the new shiny!" attitudes. If Cornerstone has the svn switch functionality somewhere I'll probably go ahead and drop the $60 to buy a copy.