Open Source Life: Subversion, a revision control system (part 1 of 3)

subversion_logo.png

Free, Open-Source Revision Control System
Current Homepage: http://subversion.tigris.org/
Developed by: CollabNet

I’m presenting this article in a slightly different structure than my previous Open Source Life articles. This is part 1 of 3. Part 3 will be my opinion of Subversion. Part 2 will be a step by step walk through of using Subversion, with lots of pictures and probably a video. Part 1 should really carry the heading of:

A Regular Guy’s Introduction to Subversion

My DesktopI’m a freak, like OCD, about keeping my computer in order. Clean of viruses and spyware, deleting of unnecessary files, absent of those stupid processes installed in the background by Apple, Microsoft, Adobe and others. I believe my desktop should be like a zen pool of calmness, lacking any icons.

But the stories I used to have sitting on my computer… ugh. Lots of zip files holding previous versions, documents I had saved only because I was taught never to delete things. Pictures andMy Old Revision Control sketches of characters, and my ideas and notes for video games I wish to make in the future all seemed to end up in the same folders for my stories. Some people would say it’s just fine, and think my desire to clean my computer is over the edge. They’re completely right, but those happy little tolerant thoughts won’t actually make my computer any cleaner.

Last December, I decided to solve my problem of “What can I do to consolidate the creative, not so creative, and the utterly stupid documents that are littering my computer that I refuse to delete?

Revision Control SystemWithout much experimenting, I decided to give a program called Subversion a try. Subversion is a class of software called a revision control system. Most people have used some form of revision control. If you want a long article about revision control systems, I’d suggest you read the Wikipedia article linked in this paragraph. But you don’t really need to. The concept is simple: good revision control systems allow you to centralize every version and draft of a document, record historical notes and reasons for the drafts and updates, and ease sharing and concurrent use of documents within a community.

creativerepositoryondisk.pngUsing Subversion is quite simple in concept. The first thing one must do is create a repository. The repository is the central location where the files, historical notes, and revision changes are stored. With Subversion, the repository is just a bunch of data located within a folder. Once the repository is created, for the most part it just sits there and acts as a holding tank.

creativerepositoryview.pngSubversion repositories are accessed with some sort of client software. Since I use Windows, I use a program called TortoiseSVN to access the repository. Here’s a glimpse into the repository. You can see the different revision numbers, which act as unique IDs to each different version. Every time I check in new changes the revision number goes up.

Besides just the changes I have the option of attaching meta-information, called logs, withhistory-of-revisions.png each revision that I check in to the repository. Historical logs can be invaluable when trying to decipher, after a long time has passed, why a draft of a document exists.

As I write this, I realize I have more and more to say (this article has gone from one part, to two parts, up to the now planned for three parts). For now I’m going to stop here and follow up in the near future with A Regular Guy’s How To Use Subversion Tutorial.

Comments

3 Responses to “Open Source Life: Subversion, a revision control system (part 1 of 3)”

  1. Janna (the Wife) on February 20th, 2008 4:13 pm

    This sounds like its worth trying. I could use me a little computer organization.

  2. Debra on February 21st, 2008 2:47 am

    I’m really glad you did this post, Jeremy as I suffer from problems of multiple drafts of novels in progress. I’ve come across subversion at work, and I’m looking forward to finding out more about how it can work for writers.

  3. Jeremy Osborne on February 21st, 2008 9:29 am

    Debra,

    Since it might take me a week to get the “How-to” doc up, and longer before I post my opinions, here’s a summary to mull over:

    - I LOVE Subversion, but it is (IMO) far from perfect for writers who write in any other document format than plain text, HTML or XML and who wish to preserve many revisions (aka. sub-drafts).
    - Even with my amorous feelings towards the program, I believe how I deployed it was a bit on the obsessive, overkillish side. It’s great to have my novels and short stories under revision control, but I think I dumped too much stuff in.

Leave a Reply