Saturday 5 December 2009

Version Control

Now that I have almost finished developing the back-end code for David Pentland's website, it has become increasingly clear that some form of version control system is no longer a "nice to have". Having created many new php files (and edited even more), keeping track of all of the changes has been a bit of a challenge. Moreover, I am just about to start work on an exciting new project with a partner and it makes good sense to sort out this issue before coding starts in earnest in the next few weeks.
I acknowledge that there is a bit of an overhead in running a version control system, but the advantages more than outweigh the disadvantages.
For me the main disadvantage is having to learn a new way of working and get my head around the ins and outs of the version control system. The advantages are:
  • always knowing where I am with respect to code versions;
  • being able to regress changes easily by "rolling back" to an older version, or being able to "undelete" files which have been marked for deletion;
  • having a repository on another machine means I have a backup of the code by default, albeit minus any committed changes.
Fortunately, I spotted an article in an recent version of Linux Format magazine which compared three open-source version control systems, namely: Bazaar, Git and Subversion. After some fairly careful consideration, I opted to install Subversion on my server.

The manual for Subversion, which, like the software is free, runs to something like 480 pages. It all seems a bit daunting to start with, but thanks to another article in Linux Format magazine and a couple of 'how to' articles, including one particularly good one by MichaƂ Wojciechowski , I had a fully functioning Subversion server up and running within an hour or so.

Now, all I have to do is read the manual, become familiar with Subversion and move my websites into the repository.

Simple!

No comments:

Post a Comment