This presentation is an introduction to Version Control Systems, and in particular, modern and decentralized ones. We start with a presentation of the problems to solve, and the historical solutions, presenting briefly CVS and its successor Subversion, and give an idea of the requirements not meet by these systems with the example of the Linux kernel.

The talk presents then the notion of Decentralized (or ``distributed'') Version Control System, with the example of Git. Without going into details, we present the way branching and merging is managed in such systems. The conclusion gives pointers to learn more about Git and its competitors.

About the Author: Matthieu Moy, has been contributing to Baz, Bzr and Git. He is one of the main contributor of Emacs-DVC, the Emacs interface to several version control systems (GNU Arch, Bazaar, Mercurial, Git, Monotone ...).

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.
Matthieu MOY
Back to Home Page
Last updated: October, 2007.