A system which tracks versions, usually of SourceCode, but potentially any digital content. It allows multiple people to work on a project, automatically coordinating everyone's changes with everyone else's — much like the wiki. Having a project versioned makes it possible to roll back erroneous changes, find out when bugs or errors were introduced and by whom, maintain multiple branches of the same thing simultaneously without conflicts, and many things more. Different VersionControlSystems have different sets of features in terms of multiple file handling, MetaData versioning, distributed storage, security goals, etc.
Popular VersionControlSystems include
See EricRaymond's essay Understanding Version Control for an introduction to the main concepts and a comparison of the major systems. The main stages of development can be summarized as follows:
Each development took a long time, much of which was spent simply coming to recognize that there was a problem that needed to be solved. Many of the new developments remained controversial to adherents of older ways of doing things, even to the present day.
lib/main.php:944: Notice: PageInfo: Cannot find action page