Why you should be using Subversion (and how to use it)
I figure lots of people are in this situation; doing lots of good work but not doing proper version management. This post is to offer a very brief insight into SVN and how it can save your bacon.
What is Subversion?
Subversion (SVN) is a version control system used to maintain current and historical versions of files, such as source code, web pages, documentation, images, etc. Basically it controls your versioning; it can take two files, analayse the differences and merge them together. It's excellent if you've got multiple people authoring the same file but equally powerful for just keeping track of your work.
So how is it useful to me?
How many times have you accidentily done something catastrophic to your work? Like a find-and-replace across an entire site that cannot be undone that went awry. Subversion removes that worry because you check your work out of the subversion repository (a file-dump stored elsewhere), make your changes and submit them back when you're happy. So any accidental yet disasterous events can be fixed by just pulling the file back out of SVN. Has your code stopped working and you don't know why? SVN allows you to compare your working copy and any previously submitted version of that file.
How do I use Subversion?
You install it on a web-server somewhere and get a Subversion client (TortoiseSVN is a good one). With the right information you can submit your work to that server and it'll be stored off-site. Any changes you make to your files are also stored when you've committed them, so you can compare and roll back your files to any previous version. Hopefully you can see why that would be helpful.
Getting Subversion
I personally recommend buying some hosting with Dreamhost because they offer Subversion by default on your hosting package; their web-panel allows you to configure things without having to get too techy. Although it's not actually terribly difficult to get SVN installed using the console it's just easier to have the GUI do it for you. TortoiseSVN is a good client to use to interact with the Subversion repository.
This was only a really quick introduction to the topic, just to raise awareness of an awesome system that most people don't seem to know about. If you're after more information then (yet again) Wikipedia to the rescue. You'd be surprised how often SVN can save your arse.
Enjoy this article? Why not subscribe to the full RSS feed?



