share
Stack OverflowBest Subversion client for Mac OS
[+476] [32] Polsonby
[2008-08-04 00:09:39]
[ svn osx ]
[ http://stackoverflow.com/questions/899/best-subversion-client-for-mac-os ] [DELETED]

On Windows, TortoiseSVN [1] 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 for Subversion (SVN) are worth checking out and why?

(5) I am not quite sure how this decision has been made or why. Clearly this question is relevant and interests many (including myself) as it involves major gap in development environment. Judging by the answers there is no real indication to anything of what you guys suggest and it reveals a good source of links. - Adi
[+179] [2008-08-04 00:15:28] Polsonby

Having been disappointed with all of them 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 [1] 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 [2] 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 [3], but on the Mac I rely totally on the awesome and free TextWrangler [4]; 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 [5] which is also worth reading.

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

UPDATE, JUNE 2011: Following the purchase of the Sofa team by Facebook, the future of VersionsApp is a little unclear. It will continue, but I'm not sure who will be maintaining it now. In other news, it still lacks built-in support for merging, still the biggest headache for many SVN users, I believe. But Cornerstone 2 supports merging and branching in the GUI now, so I am currently downloading that to evaluate it.

[1] http://www.versionsapp.com
[2] http://www.zennaware.com/cornerstone/
[3] http://winmerge.org/
[4] http://www.barebones.com/products/textwrangler/
[5] http://jadeohlhauser.com/2008/c_vs_v/2.html
[6] http://www.syntevo.com/smartsvn/index.html
[7] http://www.lachoseinteractive.net/en/community/subversion/svnx/features/
[8] http://tortoisesvn.tigris.org/

Important note: Versions does not support merging between branches as of 1.2. From the FAQ: "How can I use Versions to merge? Right now, there's no way to merge changes between branches in Versions." - David Doyle
Just to let you know, your link to ZigVersion goes to some dodgy looking Asian (whatever language it is on that page) website... - Daniel Gruszczyk
Thanks, @DanielGruszczyk, have edited to remove the link. - Polsonby
Versions does not work on OSX Yosemite as of October 21 2014 :( Now I have to learn a different client from scratch - Alex Stone
1
[+27] [2008-11-08 05:01:05] Jade Ohlhauser

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 [1]

I choose Cornerstone [2] 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] http://jadeohlhauser.com/2008/c_vs_v/
[2] http://www.zennaware.com/cornerstone/

Dead link. jadeohlhauser.com/2008/c_vs_v - GusOst
2
[+10] [2011-10-12 14:11:47] zenaminati

Reading this now in 2011 (!) ... I enjoyed using Tortoise in the days when the company I work for did not have a proper Mac for me to use for my dev work. I loved using Tortoise, still do, and the version for Mac is far from comparable (can someone with lots of time on their hands update that code?). I suffered through subversive on Eclipse, which I didn't mind but why use it when the CLI is so much better to begin with? It wasn't much of an alternative for me. Regardless, I did (ultimately) find a great SVN client and a great DIFF/Merge tool to use for Mac OSX:

For SVN: SmartSVN (free basic edition) was the answer for me, intuitive.

For Diff: DiffMerge (free) is a great and easy to use solution.


Please remove the StackOverflow note from your answer. Notes should be posted to meta.stackoverflow.com - Gray
installed in minutes and works like Tortoise SVN. Thanks!!! - andsien
@andsien - you are very welcome, hope it improved your workflow. - zenaminati
@Gray - done! well, almost... i'll add it to the meta later ;) thanks for the feedback. - zenaminati
Update SmartSVN is no longer free as of this date. - Jakub
3
[+7] [2008-08-04 11:16:25] Matthew Schinckel

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

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.

[1] http://www.zennaware.com/cornerstone/

4
[+5] [2008-08-04 00:12:27] dragonmantank

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

[1] http://subclipse.tigris.org/

5
[+5] [2008-08-04 01:21:58] Dan

svnX [1] is nice, although I prefer to use the command line.

[1] http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

6
[+5] [2008-09-16 20:37:06] Wayne

BBEdit [1] 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 [2] 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.

[1] http://www.barebones.com/products/bbedit/
[2] http://www.versionsapp.com/

7
[+5] [2009-06-25 14:40:09] Paul Chernoch

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 [1]. 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.

[1] http://en.wikipedia.org/wiki/TextWrangler

8
[+4] [2008-09-16 21:10:35] Joe Schmetzer

SCPlugin [1] is probably the closest to TortoiseSVN in terms of integration with the Mac OS X Finder. Everything is managed via context menus from the Finder.

[1] http://scplugin.tigris.org/

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... - drfrogsplat
9
[+3] [2009-12-21 09:52:55] meduz

The command line is tedious on each own, but it is 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 radically, 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!).


nice, have more commands like this? svn-unversioned is perfect - Jaro
10
[+3] [2011-04-07 10:37:39] karim

In our team, we are using syncroSVN [1] and quite happy. It's not like TortoiseSVN, but when we compare all the Mac clients (snvX, Versions, etc.) one year ago, it was the winner. It is not free. Sometimes, I take resort to the powerful shell commands too.

[1] http://www.syncrosvnclient.com/

11
[+2] [2008-09-28 17:22:35] Scott Gowell

I heard Diffly [1] is pretty good. ... I am currently enamored with Versions.App [2]

[1] http://lucidmac.com/products/diffly
[2] http://www.versionsapp.com/

Diffly link dead. - sjas
12
[+2] [2009-01-18 19:03:59] Chris Stewart

I chose Versions and use it daily.


Gotta agree. There's a basic tension between on the one hand people who "really love source control" and are truly in to source control; and on the other hand people who never want to think about "source control" for any reason, ever. For group "A", I think you will ONLY ever be satisfied with the command line approach, on a mac. If you're in group "B", and you happen to use a mac for typing, and your colleague or something is using svn; I reckon Versions is the no-more-thought choice. Disclaimer, personally I only like PlasticSCM, for me svn git etc are plain annoying, time-consuming. - Joe Blow
13
[+2] [2010-01-25 23:48:59] Steve

+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 [1] (which was too broken to use) and the SVN client in Xcode (horrible) and BBEdit [2] (worse). ZigVersion has some frustrating bugs (eg a crash if you browse diffs before committing) and mysterious error messages.

[1] http://en.wikipedia.org/wiki/RapidSVN
[2] http://en.wikipedia.org/wiki/BBEdit

14
[+1] [2008-08-04 00:23:06] Shadow_x99

If you are using an Eclipse, there is a more 'Eclipse-Approved' plugin which is Subversive [1]. Subversive aim to be the CVS [2] equivalent for the Eclipse platform with regard to SVN. I've been using it for more than six months now, and it's very stable, very easy to use (as easy as CVS at least) from within Eclipse.

For Xcode [3], I know that there is a built-in integration with Subversion, but I never used it myself... I am not working on Macs currently professionally (although I'd love to).

[1] http://www.eclipse.org/subversive/index.php
[2] http://en.wikipedia.org/wiki/Concurrent_Versions_System
[3] http://en.wikipedia.org/wiki/Xcode

Subversive is terrible on Eclipse. It never works. For SVN in Eclipse I'd go with Subclipse instead. - Brill Pappin
15
[+1] [2008-08-04 12:13:18] Caleb Elston

I agree with Dan, svnX is pretty good, it gets the job done. I have not yet tried Versions, but I am certainly interested in it's native Mac OS X philosophy.


16
[+1] [2008-08-06 15:56:57] titanous

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


17
[+1] [2009-02-09 17:07:33] Rollo Tomazzi

Neither Cornerstone nor 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 [1]'s SVN integrated tools.

[1] http://en.wikipedia.org/wiki/IntelliJ_IDEA

Actually, Versions can handle SVN tags. You just have to use a little drag&drop as there is no menu option for it. Simply Option-Drag your folder onto the tags folder and you'll be prompted accordingly. - Paul Lefebvre
Cornerstone as well can handle SVN tags and it does it quite well. - Andrea Sciamanna
18
[+1] [2009-03-28 09:36:20] gyo

Go for SCPlugin:

http://scplugin.tigris.org/

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

Enjoy


don't work with new mac os. - zszen
19
[+1] [2009-03-31 14:31:06] Harvey

I use RapidSVN [1] 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.

[1] http://rapidsvn.tigris.org/

20
[+1] [2010-09-16 03:23:53] Student T

I prefer the TortiseSVN using a virtual machine.


That's a great trick. I like that. - Alex Zavatone
21
[+1] [2010-09-19 20:47:14] adardesign

I use Mercurial [1] and MacHG [2] as the GUI. MacHG is very neat and easy to use.

[1] http://mercurial.selenic.com/
[2] http://jasonfharris.com/machg/

(2) Thanks for posting - MacHG looks awesome! - Josh Brown
Really sweet program, thanks for the recommendation - St-Ste-Ste-Stephen
22
[+1] [2010-10-04 10:17:41] cloudobjects

Maybe you are interested in my article about SVN clients for Mac OS X, Subversion Clients on Mac OS [1].

This article compares several free Subversion clients for Mac OS X.

[1] http://cloudobjects.blogspot.com/2010/10/using-subversion-on-mac-os.html

link is broken, can't find new location, downvoting - Alex Dupuy
23
[+1] [2011-07-19 07:57:06] asiby

There are 12 interesting softwares on this page that you might want to check: http://gigaom.com/apple/12-subversion-apps-for-os-x/


24
[0] [2008-09-17 02:44:04] Karl

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 repositories, as well.


25
[0] [2008-09-17 09:38:14] Dave Verwer

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


26
[0] [2008-09-28 17:20:51] schwa

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 and drop vs dozens of SVN move commands).

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

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

[1] http://en.wikipedia.org/wiki/Software_configuration_management
[2] http://en.wikipedia.org/wiki/Xcode

27
[0] [2009-02-03 12:22:23] Richard Tasker

I like Subclipse [1] 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).

[1] http://subclipse.tigris.org/

28
[0] [2009-03-28 09:51:44] John Smith

I haven't found any good programs with a GUI. (I like TortoiseSVN [1] 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 [2] (you get a diff like this: ediff [3])

When working outside Emacs: Using FileMerge as a diff command [4]

[1] http://en.wikipedia.org/wiki/TortoiseSVN
[2] http://www.emacswiki.org/emacs/SvnStatusMode
[3] http://www.home.unix-ag.org/joerg/previews/linux/webpage/xemacsfaq/ediff.gif
[4] http://ssel.vub.ac.be/ssel/internal%3afmdiff

29
[0] [2010-01-08 01:22:32] Farid

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.

Cornerstone [1]

Versions [2]

[1] http://www.zennaware.com/cornerstone/
[2] http://versionsapp.com/

30
[0] [2010-02-02 13:10:13] cmcculloh

A quick "tutorial" on installing and using SVN from Command line on the mac, plus installing SCPlugin. [1]

[1] http://blog.chomperstomp.com/totw-subversion-clients-for-mac/

31
[0] [2011-03-08 16:48:11] Justin

Since Eclipse has been mentioned a couple of times, I thought I would note that MonoDevelop [1] has excellent Subversion support on the Mac. It is built right in so you do not need an external client. There is Git support built-in as well.

The behaviour is the same on all platforms (Windows, Linux, and Mac) so it is great if you move back and forth between platforms on the same project (as I do).

[1] http://monodevelop.com/

32