Source Code Control System
- 1972 - closed source, free with Unix
- Stored original version and sets of changes
- Dominant till early 80's
Revision Control System
- 1982 - open source
- Faster - stored latest version and sets of changes
Only allowed for individual files till CVS
Concurrent Versions System
- 1986 - 1990 - open source
- Multiple files, the entire project
- Multi-user repositories
Apache Subversion
- 2000 - open source
- Track text and images
- Track file changes collectively
BitKeeper
- 2000 - Closed source, proprietary
- Distributed version control
- The "Community" version was free
- Used for source code of the Linux kernel from 2002 to 2005
- Controversial to use proprietary SCM for an open-source project
- 2005 "Community" was no longer free
Git
- April 2005
- Created by Linus Torvalds
- Replacement for BitKeeper to manage Linux kernel source code
- Open-source and free software
- Better safeguards
Distributed Version Control
- Different users maintain their own repositories
- No central repository
- Changes are stored as change sets
- Tracks changes not versions
- Merge in change sets or apply patches
- No need to communicate with a central server
- Faster
- No single point of failure
- Encourages participation and forking projects
- Submit changes for inclusion or rejection