Software Review: Versions for the Mac

The version control system known as Subversion brings great power, and with great power comes great hassle and complexity and annoyance. At least, that’s been my experience — but no longer. Thanks to the imaginatively-named Versions, Mac users have a graphical Subversion client that does things ‘the Mac way’: Subversion just works.

What is Subversion?

In case you haven’t encountered version control systems before, they provide a way for multiple contributors to work together on a single project while:

  1. keeping track of all the revisions to a document or set of documents,
  2. coherently merging the changes made by different contributors working on the same document, and
  3. retaining the ability to ‘roll back’ changed documents to earlier versions.

Importantly, ‘documents’ can mean almost anything, from chunks of computer code to chapters in a book (and there’s no requirement for the underlying data to be textual in nature). A version control system often resides on a central server somewhere, with anywhere from one or two to hundreds or even thousands of contributors able to work on a project in parallel, with the version control system seamlessly handling the changes they make and keeping track of everything so any given change can be reversed back to an arbitrary point in time.

Subversion is one of the most widely used version control systems and will be recognized by many programmers, researchers, academic authors and others. This review isn’t intended to introduce or explain Subversion itself, but you can read more about the system’s fairly amazing capabilities with the free (and again imaginatively named) book Version Control with Subversion. In the remainder of this review, I’ll assume at least a rudimentary knowledge of what Subversion is and why you might want to use it.

Why Use a Graphical Subversion Client Like Versions at All?

If you really want to, you can accomplish everything that is possible in Subversion just by using the command line, typing arcane commands like svn resolve --accept working example.txt. But in my experience, working with Subversion by typing individual commands is an experience in finickiness and a great way both to discover how many mistakes I can make in a short period of time and to notice just how long it takes me to figure out how to do something simple. Of course, this says much more about me than about Subversion itself: it says that I’m just not personally that inclined to learn the ins and outs of a low-level command line interface for a system which I don’t actually use all that much (more on that in a moment), particularly where working from the command line doesn’t net me any appreciable advantage over the available alternatives.

One of those alternatives is Versions: if you lack the inclination or motivation to learn the command line interface, a graphical interface like that provided by Versions is the only way to fly. Here’s an example of the iTunes-style Versions window, as of version 1.0.6, with the left-hand ‘sources’ pane showing bookmarks to the Subversion repositories for some of the WordPress plugins we use here at CounsellingResource.com:

Versions example

This graphical front-end to Subversion works exactly like you would expect a Mac interface to work: move items by dragging and dropping, copy items by option-dragging and dropping, open by double-clicking, Quick Look by selecting and hitting space, see additional information by hitting command-I, etc. Just a single keystroke is all that’s needed for any of the following Subversion commands: update, commit, add, revert, diff (which gets handed off to an external editor), etc. Likewise, the timeline, file browser, and transcripts are all just a keystroke away. The blame function doesn’t merit a keyboard shortcut, but a single click on the toolbar shows, line-by-line, who made what change and when. Want to copy everything in trunk to a new tag? Option-drag and drop trunk to tag, name it, and you’re done. All this is at once completely underwhelming (after all, isn’t that how the Mac always works?) and totally amazing (if you have ever struggled with finicky command line alternatives for these same simple manoeuvres).

Talk to a Psychiatrist or Therapist Online

Don’t get me wrong: I’m not a command line neophyte by any means, and in fact the plugins listed in the screenshot above were written by me, so I don’t shy away from getting my hands dirty with programming tasks. But why would I want to spend any more hours of my life memorizing arcane commands if software like Versions can be at my beck and call, waiting to do the job with a combination of keyboard shortcuts and simple mousing around?

In addition, it’s worth noting that while many text editors (e.g., BBEdit) and coding environments (e.g., Coda) do ‘support’ Subversion, their implementations are nothing at all like Versions’: yes, they might provide a menu for issuing basic Subversion commands, but in real world use, they offer nothing at all like the seamless graphical environment provided by Versions.

Versions in Real World Use

Versions

As you can probably tell, I’m no expert at Subversion. And in all honesty, I don’t even use it a great deal. (In fact, I’ve been ‘using’ Versions itself — very intermittently — for about 8 months now, and I only now feel like I’ve used it enough to offer a few vaguely informed comments about it.) But when I do need to interact with Subversion, Versions is an absolute joy to use. It doesn’t get in the way, and it just lets me get the job done vastly more efficiently than I would be able to manage via the command line interface. And visually, it’s beautiful. Call me shallow, but I rather like working with beautiful things.

If your needs for version control systems are at all like mine — perhaps you occasionally need to dip into a Subversion repository holding academic papers or research data, or perhaps you want to use it to manage your website source files or a bit of PHP code, but you don’t really live and breathe Subversion — then Versions might be just the ticket to get the basics done without hassle.

Beyond the basics, Versions also makes it easy to set up your own repository on a remote service (for free), and it’s straightforward to create your own local repository, a feature which not all Subversion clients offer. (By a ‘local repository’, I don’t just mean a local copy of a remote repository: I mean a full-fledged repository hosted on your local machine.)

If you’re a full-fledged Subversion ninja, perhaps your experience with Versions would differ from mine: not being an advanced user myself, I don’t really know whether Versions can tap into all the Subversion power you might need. What I can say, though, is that however advanced your needs might be, Versions certainly seems to me to be worth a look.

As for problems or hiccups, I’ve experienced only two — one with Versions itself and one with getting in touch with the developers for support. The hiccup with Versions itself occurred when I inadvertently renamed two files that were under Subversion control from outside Versions; this left me for awhile with some ‘ghost’ files that kept reappearing when I copied the contents of trunk into a new tag directory. Of course the original mistake was mine, but it was still frustrating to deal with those ‘ghost’ files and to try to hammer them out of existence. The other difficulty was just with getting a reply to some initial queries about the software: I cannot say whether it was a temporary glitch or whether it was indicative of a more general problem, but in my experience it sure was difficult to elicit a reply. (Once I did get a reply, however, it was very courteous and helpful.)

System Requirements and Pricing

Versions requires Mac OS X version 10.4.9 or higher. Diff support requires an external application like FileMerge, BBEdit, TextWrangler or others. It sells for €39, with an additional 19% VAT payable for EU residents. Educational discounts are also available.

Please see the Versions site for full details.

Please see our Review Disclosure Policy.

All clinical material on this site is peer reviewed by one or more clinical psychologists or other qualified mental health professionals. This specific article was originally published by on and was last reviewed or updated by Dr Greg Mulhauser, Managing Editor on .

Overseen by an international advisory board of distinguished academic faculty and mental health professionals with decades of clinical and research experience in the US, UK and Europe, CounsellingResource.com provides peer-reviewed mental health information you can trust. Our material is not intended as a substitute for direct consultation with a qualified mental health professional. CounsellingResource.com is accredited by the Health on the Net Foundation.

Copyright © 2002-2024. All Rights Reserved.