Revision Control

What is Revision Control?

Revision control (also called version control or source control) is a method of tracking changes between various versions of a digital document. This is typically used for software code, but can be used for any type of digital document. For example, this knowlege base article tracks changes between versions, as do Wiki sites.

Revision control for software is a vital part of Software Configuration Management or SCM. Bug tracking can also be considered a part of SCM.

Why should I (a programmer) use Revision Control?

The basic reasons are:

  • Allows undoing and tracking of changes
  • Makes it much easier to manage release and development versions of software
  • Greatly facilitates more than one person working on a piece of software
  • Promotes good programming practices

If you’re not convinced, read this article: Why do You Need A Version Control System? .

There is no reason not to be using Source Control, even if you are a single developer.

Links / Documents

  • Wikipedia’s entry on Revision Control is a good introduction to the concept and has a very useful glossary.
  • Eric Sink has written an excellent and in-depth series of articles on source control . The articles focus on general version control concepts rather than specific tools.
  • CVS Best Practices apply to CVS as well as other Revision control systems.
  • This knowledge base article features an article listing and comparing some popular revision control systems.