Subversion for Mac

Along with a lot of others I was getting frustrated with the lack of good subversion clients for a Mac. So, when not one but two new subversion clients came out for the Mac I immediately downloaded both. The two clients are Versions and Cornerstone. They will both run on Tiger and Leopard so should be available for the vast majority of Mac users.

Versions Vs. Cornerstone

Here's my thoughts on the two clients...

Versions (beta)

The first of the two clients I decided to check out is still in beta so I'll hold off on final judgement. I was really impressed when I downloaded it, it's not the mess of windows that svnX is (the current svn benchmark for Mac).

The first thing I really liked about Versions is that the relationship between repositories and working copies is nice and clear with them nested together. If you prefer not to use the finder to browse then this client is really good, it's very fast and it has a 'Changed' button so you can easily see your latest work.

The only two problems with Versions (in the current beta) is not being able to lock/unlock files and no built in filemerge tool. Lock and unlock is a really useful feature when working with binary files that can't be merged together, such as Flash files. Versions requires a separate filemerge tool, which you can get one off any OSX install disc for free.

Cornerstone

Cornerstone is finished software and it shows. It has all the features that you'd need including the ability to lock and unlock, a feature I see as essential.

The place where Cornerstone really excels is in the history viewer. Select a folder and it will list the files changed in that particular revision. Better still if you select a file you can select two revisions in the timeline and it will show you the changes between the two. This means you get line by line changes if it's a code file or a side by side if you choose an image. This is great for figuring out exactly what happened in the last revision that messed things up.

The only real flaw with Cornerstone is speed. By default every time you select a working copy or have made a change to a file in the working copy, the Cornerstone browser refreshes the whole working copy. This means it's figuring out which files have changed, been added, been deleted etc. This takes a while on big working copies and is really slow if you're machine isn't fairly new. There is a fix for this which stops it automatically refreshing and sets it to manual. Just go into the preferences and change refreshing working copies to manual.

Verdict

Both clients are great, far better designed and more usable than svnX. However, the client I'll be buying will be Cornerstone. If your machine is fast enough to cope with it (or you don't mind manually refreshing) then it's abundance of features gives it the edge over Versions.

In case you're not convinced about subversion yet, A List Apart has done an excellent article highlighting why subversion is an invaluable tool.