Wednesday 11 April 2012

Setting Up Subversion Source-Control with Assembla and TortoiseSVN

Why Source-Control?
When working on sufficiently-large projects, it's good to be able to keep track of changes with a source-control system (sometimes referred to as "revision control system" or "version-control system" or VCS. Personally I prefer the old term "source-control"). The advantages of using such a system:
  • Keeping track of changes:
    Know who made the changes and when.
    Record changes with appropriate comments ("..hmmm.. why did I make this change..?").
  • Reverting and obtaining previous versions.
  • Managing versions and labels of your code in various history points.
  • Potentially sharing the project with other developers ,working together making tracked changes.
  • Some source-control systems allow tracking bugs and tasks, while associating them to changes made in files.
Many enterprises use commercial source-control systems. Since the majority of my enterprise projects have been on Microsoft environments, in the early days I was using Visual Source Safe (VSS), in later years it's been Team Foundation Server (TFS). Both consist of a source server and client applications which integrate with the Windows domain users and with Visual Studio IDE.

On home projects I prefer to use a more modest source control system, preferably one which I can store online for backups and doesn't require a server running all the time.

Article Level:
Reasonably moderate