3 Jan 2009
posted in daily
I've used a fair number of Subversion clients for the Mac but have always reverted back to the command line or to TextMate's build-in svn support. Although most of them did the job, none of them were polished enough to give the user experience I expect from a Mac application. The closest one was ZigVersion, until I discovered Versions last August.
In a typical Subversion-based workflow, you'll add, delete and edit files in a «working copy» on your own hard drive and then commit those changes to a central «repository». Subversion keeps track of all changes and lets you retrieve any previous version of your files. In group efforts, Subversion offers a great way to ensure you always have everyone's latest updates. Subversion is included in Mac OS 10.5 (Leopard) but needs to be installed on previous versions of the OS. Learn more about Subversion on Wikipedia or on how to install a Subversion server on Mac OS 10.5.
Versions is by far the best Subversion desktop client for the Mac I have ever used. It came out of beta at the end of November and I didn't hesitate a minute to buy the 1.0 version.
Versions will work with your local or online repository - or a hosted repository such as Beanstalk. It is a breeze to add a repository or create a local repository from the introduction screen. Browse repositories without doing a checkout directly from the main screen.
The Timeline view shows recent changesets, complete with commit log notes and a full list of changed files. Click any modified file in a changeset for a diff with its previous version. Versions also offers various tools in the Browse view to dig in to the history of any file or folder. And to go back in time, simply select any previous revision to browse and retrieve as much or little of it as you want.
You can use all the protocols supported by Subversion, including svn+ssh:// which I use by default. This protocol usually requires that you install SSH key pairs, but unlike other Mac SVN clients, Versions lets you use svn+ssh:// connections without creating SSH key pairs first - TextMate requires this additional step. Versions is built on top of libsvn and integrates neatly with the Mac OS X keychain, no extra work is needed to set up secure and reliable connections for your entire team. Awesome.
Most features are intuitive, you can drag and drop svn move and svn copy, checkout and export from any revision, double-click any file to open a copy. Cool features include Quick Look integration, quick open in Terminal, or 'Compare Diff' tool to get a diff from any two versions you select.
Note: XCode Tools are required for to use FileMerge tool opendiff to compare files.
It doesn't take long to figure out how Versions work. Just follow your instinct, Versions will do the rest. This application definitively figures at the top of my list of favourite apps.
Next: The MacBook Wheel