Version 1.4 of the command-line SVN client ships with OS X Leopard and is the quickest way to get started (for OS X Tiger, or if you need SVN 1.5 an easy installer can be found ). All you need to do is fire up the Terminal application and type svn with the required parameters. A great resource to learning how to use the command-line client (and all the functionality of Subversion) can be found at — a free online book. From the command line you can do everything required. In fact, some people will swear against doing anything SVN-related without dealing directly with the command line.
However there are reasons most of us love OS X, and a large number of those reasons relate to the great user interface experience. So what tools are there that can expose SVN functionality via a user interface?
Mac-Only SVN Clients If you have a need to access a subversion repository with OS X, you are likely to already be familiar with XCode, Apple’s (s aapl) development IDE. Like most good IDEs, XCode has built-in support for version control, including SVN (as well as CVS and Perforce).
This works well for basic functionality and if the scope of your needs falls within OS X and/or iPhone development, this will do the job. SvnX is an open source SVN client that uses the SVN command-line client to do the actual work and for a long time it was the best fully-featured native OS X client. The UI, however, is not what we have all come to expect from a great OS X application and it hurts the user experience. Nonetheless, for a free UI solution, one can’t complain. Versions is a relatively recent commercial subversion client, made specifically for OS X, and looks like it belongs. It costs €39 ($50), but that’s a reasonable price to pay for such functionality with polish.
A 21-day trial can be downloaded for free. Along with Cornerstone described below, it is the cream of the OS X Subversion clients. Like Versions, Cornerstone is a commercial subversion client made specially for OS X that leverages its UI. At $69 (a free 14-day trial can be downloaded) it has feature parity with Versions and can also be considered a premium solution for accessing Subversion on OS X. SCPlugin is an open-source client that integrates with Finder and enables you to work with your source without loading a separate application.
Using icon overlays, it enables you to see at a glance the state of your files, letting you perform SVN actions via the standard Finder popup menu. This was inspired by TortoiseSVN, a popular Windows SVN tool that integrates with Explorer. SCPlugin is still in development and while it’s mostly functional, there are still issues with reliably badging the icons (you also need to turn off Finder’s Icon Preview feature). Nonetheless, the crucial SVN functionality (checkout, update, commit) work well. When its issues get ironed out this will be a killer solution. Of note, this can be installed and used along with another option (ie.
Versions or Cornerstone) and will simply reflect the SVN status of a local working directory by reading SVN’s hidden control files. ISVN is currently still in development and available for free (license for the final release is still to be determined by the author), however it is quite functional in its pre-release form and requires the command-line SVN client. These are a collection of Apple Scripts that enable you to work with SVN directly from within Finder via Finder Scripts. Unlike SCPlugin, these are less intrusive and do not modify the look of Finder in any way. They offer a good middle ground for power users who are used to using SVN on the command line and want a quicker way to perform actions. They also allow for productive use with.
It requires the standard SVN command-line client. Cross Platform SVN Clients In addition to the above native OS X applications, there are numerous cross-platform clients that will run on OS X. While the big disadvantage to these is the lack of an OS X-friendly user interface, if you need to access Subversion across different platforms, and would like to use the same client everywhere, these will give you a standard and consistence interface. The following clients ran without issue on my OS X 10.5.6 system.
RapidSVN is an open-source client for Windows, Linux, OS X and other.nixes. It’s simple and functional but requires third-party tools for functionality such as visual Diffs. Its written in C and executes native code, so it’s the fastest cross-platform client. SmartSVN is a powerful Java-based client that is offered in a basic open-source variety and an advanced commercial variety ($79). While it is Java-based, there are specific versions for Windows, OS X and Linux, each supporting their native environments (the OS X version will add custom popup menus into Finder as an example). SyncroSVN is another fully featured, commercial Java-based client available for windows, OS X and Linux, tailored to each platform. It retails for $99 and a free 30-day trial is available.
This suffers more than the other cross-platform clients with regards to the user interface (I have never seen MDI child windows with OS X style window management buttons in any other application before). JSVN is a very no-frills, open-source option and is quite functional. It is by far the fastest Java-based client. Subclipse is an add-on to the cross-platform IDE (which is Java-based, but language independent). This requires you to upgrade the command-line SVN client that comes with Leopard from 1.4 to 1.5, however, and is best suited to those who already use Eclipse regularly.
What do you think? What’s your favorite Subversion client for OS X? Are there any other clients I don’t know about? Let us know with a comment. I myself haven’t tried Tortoise. I love Cornerstone.
And it’s not just a skin for the OS X svn either – it has svn built in, which is very handy. It’s just a really well thought-out program and I’ve been able to easily do things with repositories and working copies I was not able to do with other clients I tried – both open source and commercial. That’s why I recommend it. Also their support is good. If I run into something I think is an issue, I can just dash off a letter and they help me until the problem is resolved.
That’s worth something too. I don’t mind paying for quality; I make my living in software and Web development, so that would be pretty hypocritical and small-minded, wouldn’t it?
But ‘quality’ is why I abandoned Windows (after 20+ years) for the Mac anyway; I LIKE being able to have things that Just Work pretty much as expected, without the perpetual, permanent security and stability meltdowns that are fundamental to and inseparable from the “Windows experience.” I know that my measured productivity my.first. year as a full-time Mac user was just over twice my.best. year with Windows. For me, that’s money in the bank, and really hard to argue with. Doug Lerner I had been having problems getting connected with a good Subversion client for OS X to work with a project’s repository at Springloops. I tried svnX to no avail, despite a couple days of debugging.
I tried a client called Versions which got good reviews here, but couldn’t even get past entering the repository location step. Then I tried Cornerstone. It is really clever! Before I even entered anything (!) it started off with a filled in screen with my repository’s server location. I said to myself, “who! How did it do that?” It must have gleaned the info from my last copied selection in the copy/paste buffer. It connected just fine.
And it let me checkout a working copy just fine – which I wasn’t able to do until now. I changed a file and it shows “new” files that need committing in a very nice Mac-like natural UI that also shows each files revision number and author. And the Commit works just fine. Robertsoakes @Newb. Subversion is a version control system. It’s like having a personal secretary that automatically notes all the changes you make to a given file, creating backups at specified intervals. It is an extremely handy piece of software.
If you are interested, I put together a simple overview for a few students and friends (found ). While it is invaluable for coding, version control systems (like Subversion, CVS, or git) are also invaluable for other large collaborative projects. I’ve used them for papers, grants, and now for a book.
And it’s saved me from massive problems at least twice. You really should take a look at using it. It’s built into OS X, so there is nothing to download or deploy. (And just to give a plug, Versions is a fantastic front end. Several of the MDs I’ve worked with use it and it has changed the way they use their computers.).