Sunday 12 August 2007

Subversion : The next generation of version control systems

Subversion has been gaining popularity as a robust and easy-to-manage version system over the last few years but are there specific advantages for a project to use Subversion as a source code control system? This post briefly examines some of the benefits of using Subversion and brings together a collection of resources that can be used to understand, set-up and start using Subversion as a version control system.

What is Subversion?

Subversion is a version control system which maintains different versions of your documents and files, allowing you to get the latest versions or previous versions easily.

Some of the major advantages for using Subversion are:
  1. It is open-source and thus is free.
  2. Setting up Subversion and managing users is a simple affair.
  3. Subversion is rated to handle binary files comparatively better to the widely used Concurrent Versions System. Thus, image files can be handled better.
  4. Subversion can be integrated with Eclipse using a plug-in named Subclipse, which is useful for developers who like working from within an IDE.
  5. An open-source client (TortoiseSVN) makes accessing and using Subversion from Windows systems easy. Tortoise operates as a windows-shell client and is integrated into the windows explorer.
Some strong testimonials and user experiences are given on this page. On a personal note, I have used Subversion in about 5 projects over the last two years have found it to be a very robust and easy to use source control system.

Using Subversion

Subversion is based on a client-server model, which means that a server process actually monitors and manages access to your files.

( Note: you can also run Subversion as a standalone program to store your personal files but if you choose to do so, you will not be able to access your files from other systems. This article is describing a scenario where you would want to access your files from multiple systems.)

To set up a subversion server, follow the steps outlined in this excellent post.

If you have installed the Subversion server successfully (with Apache), then install a client that will be used to access and modify the files managed by Subversion. To keep things simple, we will focus on setting up Tortoise SVN ( a Subversion client) and use it

To set up the subversion client (TortoiseSVN), follow the steps outlined in this post.

Once you have a server and client system setup, you can access Subversion, check out and check in files, as many times as you like.

Subversion / TortoiseSVN resources
  1. Subversion Homepage
  2. TortoiseSVN Homepage
  3. Subclipse download page

No comments: