43 Comments

Summary:

Subversion (also known as SVN) is a popular version control system. Accessing SVN repositories with OS X is easy – and there are numerous options to do so. In this article we’ll cover 12 different applications that let you access and use Subversion in OS X. […]

subversion_logo-384x332

Subversion (also known as SVN) is a popular version control system. Accessing SVN repositories with OS X is easy – and there are numerous options to do so. In this article we’ll cover 12 different applications that let you access and use Subversion in OS X.

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 here). 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 Version Control with Subversion — 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

XCode

xcode

If you have a need to access a subversion repository with OS X, you are likely to already be familiar with XCode, Apple’s 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

svnx

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

versions

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.

Cornerstone

cornerstone

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

scplugin

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

isvn

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.

Subversion Scripts for Finder

svn-finder-scripts

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 QuickSilver. 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

rapidsvn

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

smartsvn

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).

Syncro SVN Client

syncrosvn

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

jsvn

JSVN is a very no-frills, open-source option and is quite functional. It is by far the fastest Java-based client.

Subclipse

subclipse

Subclipse is an add-on to the cross-platform Eclipse 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.

  1. IMO, I don’t see much value in external SVN clients. As a developer, I prefer to have an IDE with SVN support baked into it (or at least pluggable). Long story short, I use SubClipse – provides the greatest level of flexibility when actively working on code.

    Share
  2. I’ve been using Zigversion.

    Share
  3. You should also mention subversion support in other applications (TextMate, Coda, etc.). Maybe in a future article.

    Share
  4. SVN is so “yesterday”. Where are the git clients?

    Share
  5. I’ve used, in order, CVS, SourceSafe, SVN and now git.
    git is so vastly superior to all those before it, it’s kind of funny.
    from setup to everyday use, in Eclipse and via the CLI, it has been a pleasant experience.
    if you hate it, just give it some time.

    will all the worthwhile Mac editors and IDEs include support for it soon? one can hope.

    Share
  6. I am using the svn in Terminal for a long time and now I am trying Xcode.

    I think there is support in Netbeans for subersion too.

    Share
  7. I’ve been using Versions for a while now, and I’m fairly happy with it for day to day operations, the Timeline view is what makes this app worth the money. The biggest issue I have with the “big two” commercial clients is that they don’t support branching and merging, which are pretty vital in most development environments. TortoiseSVN for Windows has excellent support for branch and merge and is free.

    Share
  8. I just use svn if there is 3rd party code stuck in a svn repository instead of in a disk image/tar archive, whatever.

    I still prefer using Perforce over svn.

    Share
  9. Sorry to be a newby, but what does subversion mean and why is it so useful?

    Newb

    Share
    1. The Apple Admin Friday, August 6, 2010

      SVN is used everywhere, like cooking, washing, cleaning computers etc.

      Share
  10. @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 here).

    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.)

    Share

Comments have been disabled for this post