If you don't know what Version Control and, specifically, Subversion are there's a screencast and also the book. The short story is that Version Control is a very smart way of managing files via a central repository that provides, amongst other thing, a complete history of the changes made to each file within. Subversion is just one of many implementation of Version Control, but it's the one I'm most familiar with.

I'd love to claim credit for the concept of a Version Controlled home folder but it's not my invention. Joey Hess seems to be the originator of the idea; starting with CVS before moving to Subversion. Recently, when discussing his move from OS X to Ubuntu, Mark Pilgrim mentioned that he keeps his home under Subversion too.

My old backup system was to keep four rotating versions of my home directory across two external drives. In practice, this solutions sucks. Firstly, all the backups are in the same location: if hard drive-eating spacemonkeys attack my house then I'm screwed. Secondly, I have to be at my desk to either make or use a backup. I'm not exactly a roving programmer but it's still an annoyance. Both these issues are resolved by keeping the Subversion repository on one of my hosted accounts and accessing it via ssh: I can backup/restore from anywhere with a connection.

It's worth mentioning that this isn't to keep track of my work. All my work lives in separate, individual Subversion repositories. The purpose of keeping my home under Subversion is to keep track of everything else. What was that website I looked at 6 months ago? Rollback Safari's history. Corrupt iCal files? Resurrect them. Get a new Mac with none of my custom settings? Check out the whole of the repository to the new machine and I'm good to go.

So far it seems to be working, and the revision history is proving to be worth it's weight in gold. Maybe more on this later if I find out anything interesting.

Leave a Comment

You can use the Markdown for links, strong, and emphasis tags in your comment.

From July 8th, 2006.

This article is tagged with OS X and Subversion.

Commenting is currently enabled. There are 0 comments so far.

Related Articles.

On Charles Arthur's P2P moral dilemma.

Mass attribute assignment in Rails.

Rebinding Spaces in Leopard.

Generating sequences in TextExpander

Nabaztag.