On Windows, Tortoise SVN is the daddy, no question. On the Mac there is nothing as simple and integrated, but there is a fair choice of tools. Which GUI clients are worth checking out and why?

+1  A: 

If you use Eclipse for programming, Subclipse is a great addition for it. Otherwise, I myself always find the GUI programs lacking and fall back to the command line version.

+39  A: 

Having been disappointed with them all for one reason or another (mainly because they're horrible to use), I settled on the command line tools for ages. I was therefore delighted to find one that didn't make me want to stick pins in my eyes. Versions is a new svn client now in Beta and is the first one to offer proper Mac OS X look and feel.

WARNING - Beta 5 converts your working copies to 1.5 format, and earlier versions of the svn command line client tools cannot work with them after 1.5 has touched them. But it is easy to update the client tools to 1.5. As of 20080811, Beta 6 now supports both 1.4 and 1.5.

[I have no connection with the company or product]

EDIT - Cornerstone does look good... I am happy with Versions for now, and will probably pay for it when it launches. The main loss for me is the built in diff-window in Cornerstone - that's nice - but the clunky management of working copies separately from repositories is something I found really bad with things like svnX and I think that's a clear win for Versions.

Diffing is so important that every developer should have a good tool. On Windows we settled on the free WinMerge, but on the Mac I rely totally on the awesome and free TextWrangler; Versions automatically selected it to use for doing comparisons, so I am happy as a hog with them working together.

The Ohlhauser review is really useful - thanks for linking that. He's also posted a follow-up which is also worth reading.

I'm really glad there are now two really good tools available; SmartSVN, svnX and ZigVersion were all good efforts but all far short of the excellent standard set by TortoiseSVN on Windows.

Update: after two years, Versions has turned into a very mature product, and personally I highly recommend it. On the note of diffs, the diff tool that comes with the Mac Developer tools ("opendiff" in the command line) is a very good tool, and I've come to really like it.
for what its worth, the diff tool from the Mac Dev tools is known as "FileMerge" in the GUI and can be found either via Spotlight or at /Developer/Applications/Utilities/FileMerge.app

If you are using an Eclipse, there is a more 'Eclipse-Approved' plugin which is Subversive. Subversive aim to be the CSV equivalent for the Eclipse Platform in regard to SVN. I've been using it for more than 6 months now and it's very stable, very easy to use (As easy as CVS at least) from within Eclipse.

For XCode, I know that there is a built-in integration with Subversion, but I never used it myself... I am not working on Macs currently professionnally (Although I'd love to).


svnx is nice, although I prefer to use the command line.

+5  A: 

As well as Versions (mentioned previously) there is also another commercial offering called Cornerstone.

I've used Versions (beta) a bit, and had a look at Cornerstone. Both of them offer a much more "Mac-like" experience than the others, like svnX and so on.

Matthew Schinckel

I agree with Dan, SVNX is pretty good, it gets the job done. Have not yet tried versions, but I am certainly interested in it's native OSX philosophy.

Caleb Elston
+13  A: 

Jade Ohlhauser recently did a comparison of Cornerstone and Versions, plus a follow-up.

John Siracusa
+1  A: 

I use the svn command, and the TextMate SVN bundle.

+3  A: 

BBEdit has good Subversion integration. Of course, it works better if you're already using it as your code editor. What makes it especially nice is the file comparison tool. In my opinion BBEdit is much better than FileMerge or TextMate for diffing files.

If I'm in Xcode, I tend to just use its built-in support. It's not spectacular, but it works fine for normal updates/commits/reverts. The same is true for TextMate's SVN bundle.

For more involved things I tend to use the command line, although I have been playing with Versions for the last few days. I think I like it (especially since it can use the BBEdit file comparison tool automatically). I'm reluctant to commit to it, though, until they decide how much it's going to cost.

+4  A: 

SCPlugin is probably the closest to TortoiseSVN in terms of integration with the OSX Finder. Everything is managed via context menus from the Finder.

It's close in terms of the idea of context menus, but (at least when I tried it) it's a very long way off in terms of the features available. Unless you're really keen on Finder and having svn integration, I'd probably look elsewhere...

Also, SCPlugin just updated a little bit ago, so if you tried it before you might want to give it another shot.

It supports both 1.4 and 1.5 repos, as well.


Command line all the way for me, everything else just feels wrong.

Dave Verwer

I'm a big fan of the command-line svn tool. The switches are very obvious and you know exactly what is going on at all times.

Although saying that - Cornerstone does look good - I've been using it to manage reorganization of a large project (drag & drop vs dozens of svn mv commands).

Prior to Cornerstone I often find myself using BBEdit's SVN menu to do things like diff files or view logs

I (and others) have been so burnt by SCM support in Xcode that I'd never touch it again.


I heard Diffly is pretty good. ... I am currently enamored with Versions.App

+11  A: 


I wrote the comparison that John Siracusa linked to in his answer. I've since updated it and added my thoughts on other Mac SVN clients.

Cornerstone vs. Versions, Again

I choose Cornerstone over Versions, SmartSVN, Diffly, svnX, and the SVN functionality in the editors I use, Aptana, Coda, and Textmate. That comparison has all the details, but here's the summary:

I choose Cornerstone for its inline content viewer, superior commit, and better ability to manage multiple working copies.

+1  A: 

I chose Versions and use it daily.

Chris Stewart
+1  A: 

I like Subclipse as it provides a nice abstraction on top of SVN. I like the constantly updated view of what is 'out of sync' and also the 1-step commit of new files (rather than add then commit).

Richard Tasker


Neither Cornerstne not Versions can handle SVN Tags. I know, that's hard to swallow. I'm not talking about branching and merging, just tags.

But then, I couldn't get SmartSVN or Versions to connect to my HTTPS SVN repositories on Unfuddle. The Google group for Versions refer to this as a bug actually.

So as of now, I use a mix of Cornerstone and command line.

There is another option I didn't look into: use Eclipse with its SVN plugin or (if you're a Java developer), use IntelliJ IDEA's SVN integrated tools.

Hope this helps,


Rollo Tomazzi
Paul Lefebvre
+1  A: 

Go for SCPlugin:


It's the best you can get out there for free.



I haven't found any good programs with a GUI. (I like tortoisesvn on Windows)

For me, usual svn usage goes around update-diff-commit cycle. Update and commit are easy to do from command line, but for diff I want a program that can display my changes for each file side-by-side before I commit, so that I don't make a mess. (I consider viewing the plain diff unfeasible :] )

There are two things I use:

With Emacs: SvnStatusMode (you get a diff like this: ediff )

When working outside Emacs: Using FileMerge as a diff command

+1  A: 

I use RapidSVN since it runs on Windows, Mac, and Linux. It's still in it's infancy, though, IMO. It has some quirks you have to work around, but it does most of what I want. It made support easier, too, since I only had to train developers to use one program no matter what they were doing.

SCPlugin was annoying as hell. It works great on SVN working directories and slows down the Finder for everything else, especially network mounts. I couldn't stand how slow Finder had become and uninstalled it. If there were a way to make SCPlugin behave better, I might have kept it around. However, on a mac, I find that I use the command line tools primarily and only use the GUI tools when I want to do a large check-in and need the larger view and graphical diffs.

+3  A: 

I tried SCPlugin, and it was tantalizingly close to useable. The file badging was just too buggy.

Now I use Versions. For most of my work, it is perfect. But for doing file merges I use TextWrangler. One complaint I have after using a superior tool on Windows is how some features that should be integrated aren't. For example, I select a file, right-click to Show History, and see the first line of the Log Message. But there is no command to open the change list and see the rest of the log message from here. To see that, I need to go to the Timeline tab and find the change. Nevertheless, for the normal things I do, it is great.

Paul Chernoch

command line is tedious alone. but good with aliases! for instance, I use

alias svn-unversioned='svn status --no-ignore | grep "^[I?]" | sed s/^[I?]//'

(that I inserted in my .bashrc) to display unversioned files. more radical, I use

alias svn-clean-wc='svn-unversioned |xargs rm -rf'

to wipe out all unversioned backup and intermediate data files that pollute the view on a local copy (use at your own risk!)


It's been a while so you've probably discovered these already, but by now there are a couple of good GUI clients for Mac OS.



+1  A: 

+1 for Versions:

I used ZigVersion for a year or so and had a few "wow" moments moving to Versions just now. So easy...

I also tried RapidSVN (which was too broken to use) and the SVN client in XCode (horrible) and BBEdit (worse). ZigVersion has some frustrating bugs (eg a crash if you browse diffs before committing) and mysterious error messages.


If you use git-svn (you should), you can then use git-gui and gitk or the other popular Git GUI tools.

Josh Brown
Sorry but I find this reply irrelevant... When I search on google for "mac svn" and see a stackoverflow link I expect to see a discussion (and proposals) for "mac" and "svn". Not git, bzr, hg, cvs or whatever alternative :)No hards feelings and btw I do prefer *any* dvcs instead of svn. But sometimes you're simply stuck with it because of reasons like svn:externals etc...
Nikos D
I disagree that this is irrelevant; git-gui is a GUI client that works with SVN when used in combination with git-svn. This answers the question that was asked - "Which GUI clients are worth checking out and why?"
Josh Brown

I prefer the TortiseSVN using a virtual machine.

+1  A: 

I use mercurial and MacHG as the GUI.

MacHG Is very neat and easy to use.

Thanks for posting - MacHG looks awesome!
Josh Brown

Maybe you are interested in my article about svn clients for Mac OS X:


This article compares several free subversion clients for mac os.