Cornerstone vs. Versions vs. SmartSVN

There are a few different reviews/forums comparing Cornerstone and Versions, but some are out of date, and I really had to try them to really see, so I thought I’d chime in with my opinions. I’ve been using SmartSVN for a while, a cross platform Java SVN client. I started to think about switching though because I now deal with 20+ repositories and it was annoying having so many windows open, since SmartSVN needs a separate window for every repository cannot organise different projects in folders in a single window. I thought it might also be nice to have a native Mac client.

Versions has the better UI, it looks better, and overall has more consistent buttons. Cornerstone is inconsistent with some commands on the toolbar, some on the bottom bar, and some accessible by right clicking. SmartSVN has a more old fashioned UI with simple list like tables and layout rather than

While versions has the better UI overall, it has no built in diff and has a weird feature that when you remove a working copy from the app it prompts to remove the files, which is a bit dangerous and unnatural in my view. It also nests working copies inside the repository tree, which means the overview of all repositories isn’t as good as Cornerstone.

They all have a log built in, but Versions with its more thought out UI displays this information clearer, and shows changed files. Cornerstone folds up the changed files so you have to click to reveal, and SmartSVN as I said before is less modern and just has a table with all log messages, and another panel to display details.

Recursive Commits
This is actually the main thing I will miss from SmartSVN. SmartSVN had a much smarter recursive commit mode than either Cornerstone or Versions. SmartSVN would:
1) Add unversioned files / delete missing ones
2) Allow you to select which changes you want to commit
3) Only mark the files you select as added and deleted
4) Show a separate diff panel that requires only a single click to show (Cornerstone requires you to click back after each diff preview)

Of these (3) is the key. While Cornerstone prompts you if you want to add unversioned files, it adds all the files first and then prompts to select if you want to commit them, as I mentioned SmartSVN will only add them after you select them. This means you then have the laborious step of going back and reverting the local adds that it did. But still this is better than Versions that has no recursive commits.

I think I will switch to Cornerstone since having a single window helps so much, and being able to see an overview of all repositories has already showed me missed files that I thought I had previously committed. But there will be more clicking while committing, because SmartSVN is the best there. I wish I could use Versions because its prettier, but just doesn’t cut it for me functionally.

Cornerstone Versions SmartSVN
Native Native
+2 Single Window + Folders +2 Single Window + Folders +1 Single Window
+1 Recursive Commit +2 Recursive Commit
+2 Overview all respositories +1 Overview all respositories
(More items in tree)
+1 Pretty log +2 Beautiful timeline
+1 UI +2 UI
Built in diff Built in diff
-1 Bad remove working copy UI
Mac Mac Mac/Window/Linux
$59 $59 $79