CSC/ECE 517 Fall 2009/wiki1a 5 a2
History of Version Control
Version Control (also called Revision Control, Source Code Control) is a category of software whose purpose is to manage changes to digital information in an automated way. Digital information, in this context could be source code of computer programs, design database or any other piece of work which is stored electronically. Before the advent of electronic storage, a hard copy (such as those on paper) was automatically granted as preserved. With storage getting shifted on to electronic media, it became both possible and necessary to have software which could keep track of changes to the information stored.
Today, with development project typically spanning multiple geographical sites and people with different time schedules, Version Control program have become a necessity.
Source Code Control System (SCCS)
One of the earliest revision control software, Source Code Control System (SCCS) was developed at Bell Labs in 1972 by Marc Rochkind. Though initially written for IBM System/370 computer, it was later re-written for UNIX and subsequently included in several UNIX distributions. SCCS remained the dominant version control system until Revision Control System (RCS) was released. Today, SCCS is considered obsolete; the file format of SCCS is still used by some revision control programs like BitKeeper and TeamWare.
Revion Control System (RCS)
Revion Control System (RCS) was developed by Walter F. Tichy in the 1980s while he was at the Purdue University. RCS was an improvement when compared to SCCS. It had a better user interface and the method of storage resulted in faster retrieval. It stored the most recent file in entirety. The earlier revisions of the file was stored as reverse differences. This feature made it operate faster than SCCS. RCS was made freely available. It quickly dislodged SCCS from its dominant position and became part of the GNU Project. Last maintenance on RCS was in 1995. One limitation of RCS was that it could only work on single files, not on on project or hierarchies(directories).
Concurrent Version System (CVS)
Dick Grune of Vrije University, Amsterdam created Concurrent Version System (CVS). He created it so that he could cooperate with two of his students while working on ACK (Amsterdam Compiler Kit) C compiler [1].