Revision Control

SourceControlIn software development, source code is the statements that a developer enters into a computer that defines the instructions or declarations that a program's behaviour is based on. Source code allows the developer to communicate with the computer using a programming language. The term "source code" is also often abbreviated to just "source" in developer conversations. Just as software programs have multiple revisions over their lifetime, so do the individual source code files as developers make changes over time.

It is good development practice to store the source code files in a revision control system. This is a database from which all versions of a source file can be extracted at will. It is important to use a revision control system in any non-trivial software development scenario to be able to practically manage the software development process. We currently use the Visual Source Safe revision control system from Microsoft. It is actually quite an old source control package that has been much maligned. Regardless, for the size of our development team it has served us well. We will likely change to an open source revision control system in the future but at the time of writing Visual Source Safe is the revision control system we use.

The following images provide an example of what a source file looks like to a developer within the development environment and an example of the history of changes made to a source file and stored in the revision control system. These source files are compiled to generate the programs used by our clients. Every change to a program's source code is logged with a date/time and the developer that made the change. Each revision is identified by a revision number. This revision control information helps us as developers manage the software development process over the lifetime of the software products we maintain.