Stay on Top of Emerging Technology Trends
Get updates impacting your industry from our GigaOm Research Community
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
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 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 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 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.