Revision control, also known as version control and source control (and an aspect of software configuration management), is the management of changes to documents, computer programs, large web sites, and other collections of information.
Changes are usually identified by a number or letter code, termed the “revision number”, “revision level”, or simply “revision”.
For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
The need for a logical way to organize and control revisions has existed for almost as long as writing has existed, but revision control became much more important, and complicated, when the era of computing began.
Today, the most capable (as well as complex) revision control systems are those used in software development, where a team of people may change the same files.
Version control systems (VCS) most commonly run as stand-alone applications, but revision control is also embedded in various types of software such as word processors, spreadsheets, content management systems
In wikis, revision control allows for the ability to revert a page to a previous revision, which is critical for allowing editors to track each other’s edits, correct mistakes, and defend public wikis against vandalism and spam.
Software tools for revision control are essential for the organization of multi-developer projects.
Popular version control systems include:
See also Comparison of revision control software.