Making Sense of Revision-Control Systems. - O'SULLIVAN, BRYAN (Communications of the ACM, 2009)
The article focuses on revision-control software which can be used to track or manage collaboration on an evolving project. The architecture of the distributed computing software is based on self-contained sub-project development lines or branches that can be merged. The client-server models of Subversion and Concurrent Versions systems, the degree of freedom for end users, the peer-to-peer structure of distributed tools called Git and Mercurial, and the automatic debugging technique that was introduced by Git and uses a bisect command are discussed, as well as advice for selecting revision-control software.