Practical advice for the coming invasion

Planning for Aliens

Subversion Repositories for Everyone

August 25th, 2006 by Sean

I offered to create Subversion repositories for some of my family and friends and to my surprise, quite a few were very interested. This article is to give a broad overview of what Subversion is and why it is incredibly useful.

What is Subversion? Subversion is version control software. Version control helps a group of people manage a set of shared files.

For example:

You are working on a presentation with three other people. You go home and after watching an inspirational television program you feel the urge to update the slides. Just before you head off to bed, you email the new presentation to everyone on your team. At the same time another member of your team also updated the slides and emailed their changes to everyone. The next morning when you check your email you have two separate versions of your presentation and the joyless task of merging both sets of changes into one version. Version control solves this problem.

All files controlled by Subversion are stored in a repository. This is basically a digital vault that everyone on your team can access from anywhere with an internet connection. Each person who has access to the repository maintains an updated copy of all the files on their computer: this is called your “working copy”. Each person has their own copy. Once you are done working, you update the version stored in theSubversion Workflow Diagram vault. This is called, “committing” your changes. The next time someone on your team updates their working copy it will contain your changes and they will be working on the most recent “version” of the file. This is why it’s called “version” control.

As of Subversion 1.2 you can now lock files. When one member of the team locks the file, no other team member can make changes to the file. In our example above, you would have locked the presentation before you started making changes, so the other member of your team couldn’t have made changes to the document.

I’ve created a workflow diagram to show the process you would use to update a file when it is under version control using Subversion.

Note: Using Subversion it is possible to have multiple people working on one file at the same time. Subversion would then merge the changes and pass off any complicated conflicts to a human. However, it can’t do this with complicated files like Microsoft Word, Excel or Powerpoint. This is why the repositories I am creating for my friends and family will be set up to require locks as I have described above.

Filed under Computer Nerdiness having

One Response

  1. Planning for Aliens » how to install tortoiseSvn Says:

    […] 2. Even though you see the file in the folder, it is still not in the repository. As you recall from this article, what you have on your computer is merely a copy of all the files held within the repository. Anyone with access to the repository has a copy of it and it is up to you to update the real repository with any changes you have made. Right click on the document, go into the TortoiseSVN menu and choose “Add”. […]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.