Rachel Greenham has written a very good tutorial called 'Subversion for Writers.' If you aren't a coder, you probably aren't familiar with the popular version control system, Subversion. It allows you to work collaboratively with folks on the same files (in most cases code) without fear of overwriting the work of others. Subversion tracks all the changes made to those files, and who did them, and allows you to rollback changes or branch off into different directions with having to worry about mucking up the entire project.Rachel, being a geeky writer, immediately saw the potential of using Subversion for writers. Her tutorial walks you through what Subversion is, how to install it on your Mac (if you're running Leopard it is already installed), some apps you can use to make interacting with Subversion easier, and how to track your changes. To be clear, this method is not for everyone. If you aren't comfortable with the Terminal you should steer clear of this, and if you don't revise the same document over and over again you'll have no need for it. That being said, it is a very clever idea.
[via the Hog Bay Software Forums]











Reader Comments (Page 1 of 1)
4-18-2008 @ 7:10PM
Adam said...
For someone like a writer it seems like Git would make a lot more sense since you can commit offline. Even if the writer was hosting their repository locally git is much much easier to get up and going once you've installed it. Compare executing 'git init' with all the steps you need to setup a subversion repo and git is the clear winner.
Reply
4-18-2008 @ 7:55PM
Rachel said...
Except the first step is "install git". :-)
I don't know git, so I can't comment further than that. I suppose part of my point is, "revision control can be useful to these people" - beyond that it doesn't really matter *which* revision control system you're using, so go with what you're comfortable with. I happened to write it about subversion for no stronger reason than because that's what I happen to use, albeit not with a local-file-system repository as described in the article, as I use multiple machines and also want prereaders/proofers to have read-access to the repository.
But your comment does nicely illustrate a point that came up in the ongoing discussion on the forum about possibly integrating subversion into WriteRoom. You're going to get people wanting cvs or git or... the pain would never stop. ;-)
I think (and actually hope) that the consensus is not to integrate or embed it at all. WriteRoom is really just a text editor with a specialised user interface. It has no 'awareness' of projects, just single files. Revision control should, IMHO, be absolutely external to that.
4-22-2008 @ 5:54AM
Jason Rudolph said...
+1 for Git
There have been countless prototypes, drafts, experiments, etc. that I talked myself out of storing in SVN. The conversation typically went something like so: “Do I really want to create a new repository just for this experiment? Should it go in my local repo, or does it belong up on the shared repo? Should I bother setting up the standard dirs for trunk, tags, and branches? Maybe I should just add it to a grab-bag repo for now? Nah. Forget it. It’s not worth the trouble yet.”
Git removes that argument altogether.
4-22-2008 @ 5:56AM
Jason Rudolph said...
More thoughts on that topic here...
http://jasonrudolph.com/blog/2008/04/22/git-init-say-hello-to-agility/
4-18-2008 @ 7:44PM
Paul Wren said...
There are some GUI front ends for Subversion, and at least one that runs on the Mac: RapidSVN.
http://www.rapidsvn.org/
So if you are afraid of the command line, you can ignore it!
I'd also like to recommend Write Boards in Backpack by 37 Signals. You can share documents there and keep all revisions, and identify who made which change when.
Reply
4-18-2008 @ 7:59PM
Rachel said...
I know about the GUI front ends. I demonstrate the usage of SCPlugin in the howto. I only mentioned RapidSVN briefly because I don't use it myself. It's a clear stub of a section that's waiting to be expanded though, especially as it's multiplatform. (And as a price for that some of its Mac user interface work is a bit scrappy-looking.)
However, with neither of those can you *create* a new repository. There's a menu option for it in RapidSVN but if you click on it you just get a dialogue saying you need to open a terminal and use svnadmin create... :-)
4-18-2008 @ 8:11PM
JamieD said...
I would not recommend any mac users install SCPlugin, it will slow down your entire machine significantly. The project has not been updated for several years. Far better alternatives would be SVNx or ZigVersion, they do not offer the same finder integration as SCPlugin but do not suffer from the same system slowdown. Another alternative would be the Textmate subversion bundle which would be more of a replacement for SCPlugin but only works within textmate.
Reply
4-18-2008 @ 8:55PM
Rachel said...
JamieD: Hm. I've not noticed any - well, noticeable slow-down with SCPlugin (and I would). Then again I'm running a version from 20 Dec 2007, so maybe it's newer than yours. ;-)
The only peeve I have isn't the developers' fault: With the advent of Leopard, the whole thing is shoved into a "More" submenu off the Finder contextual menu. Minor annoyance though. More than half the time I keep a Terminal open and use svn directly anyway. :-)
4-18-2008 @ 8:23PM
HalibetLector said...
Cute. Google docs does something similar, I believe.
Reply
4-18-2008 @ 8:54PM
Julian Montez said...
Google Docs is for the casual, easy-as-possible crowd. Subversion (although I would recommend Git over it) provides a hell of a lot more control and management of any type of coding, or in this case writing, project.
Version control software allows commits, and highly organized distributions of code/writing to many people efficiently, and without the fear of losing everything in a hard-drive failure, etc.
I guess for the casual user, this doesn't seem to make a difference for your needs, but from a programmers perspective, it's probably a hell of a lot easier to implement something that you use much during coding projects.
4-19-2008 @ 1:46AM
HalibetLector said...
The article was written for a casual user who just wants to save revisions of his writing. With that in mind, google docs works just as well and with a lot less setup. Admittedly, you don't have to be online with svn since the article creates an svn repository on the local machine, whereas that's not an option with google docs (at least until it starts working with google gears).
I'm not dissing the article, it's clever and something I might try myself, as I already have access to an svn repository.
4-19-2008 @ 12:18AM
pjm said...
Nice article, but given that you switch to TextMate half way through it's a little bizarre that you don't use the wonderful in-built SVN support of that application. Just remember one keystroke (control-shift-a) and all of those svn commands are staring you in the face: hugely easier than the plugin approach from the article. If you want the coloured icons that's also taken care of (by Ciarán Walsh's free "SVNmate").
Reply
4-19-2008 @ 6:02AM
Rachel said...
I didn't mention the TextMate subversion integration for three reasons:
1: I'd forgotten about it. :-) I knew it was there but never got into the habit of using it.
2: I wanted to describe a solution that was editor-agnostic, not least because:
3: This was written (in only about 2-3 hours) in response to a thread in the WriteRoom forums, and the link only posted - by me - there. It would be rude to basically imply "you need to switch to TextMate" - itself another pay-for editor.
I switched to TextMate during the article, as I said in the article, because it was the sort of thing that's easier done there. It also demonstrates the editor-agnosticism. :-) Certainly if you do use a heterogenous writing environment it's a valid thing to do, but then in that case you're probably not my target audience. :-)
4-19-2008 @ 4:16AM
mtts said...
Recommending GIT is cruel. Until quite recently it didn't work at all on a Mac (and only barely on Windows) and even now installing it is nothing to sneeze at.
Compare that to Subversion: installed by default (or easily installed using an install package) and once it's installed it takes only a few easily learned terminal commands to use it.
For non-techies, Subversion is the obvious choice.
BTW, I'm not a writer, but I use Subversion as a general backup tool (but then I do have my own server to play with). To make that work smoothly, I installed the Python svn bindings and wrote a small script that automatically checks in new files. Not for everybody, I guess, but if you're interested it's here:
http://tech.rommelhok.com/2008/03/19/automating-subversion-with-pysvn/
Reply
4-19-2008 @ 9:54AM
msrt1 said...
What's wrong with just regularly saving a copy of the document?
For the 'casual' writer, working alone, Subversion seems a little over-engineered, particularly for people who don't know what a command line is.
Obviously, collaborative code writing would be different.
Reply
4-20-2008 @ 5:22PM
CaptSaltyJack said...
I've tried several SVN clients for Mac OS, and I don't like any of them. I think the interfaces are non-intuitive and clunky. I AM looking forward to this one though:
http://www.versionsapp.com/
Reply
4-21-2008 @ 5:50PM
izahn78 said...
SVK is a much better solution for this sort of thing, because you don't have to manually add, delete, move, or rename files. Just move things around as you normally would, and use the import option when you commit. See
http://svk.bestpractical.com/view/HomePage
Reply