FreeBSD, like many open source projects, uses CVS as its main version
control system (VCS), which an extended history of all modifications made
since the beginning of the project in 1993. CVS is a cornerstone of FreeBSD
in two ways: not only does it record the history of the project, but it is
a fundamental tool for the FreeBSD core team and developers.
CVS is built around a concept of centralized repository, which has a number
of limitations and suffers from many flaws. Although FreeBSD is also using
Perforce for specific projects, having two VCS is cumbersome.
Recently, a new type of VCS has arisen: Distributed VCS, one of the first
being BK from BitMover, Inc. Better known from the controversy it generated
when Linus Torvalds started using it, it has nonetheless changed the way
some people develop software.
This paper explores the area of distributed VCS. We analyse two of them
Arch (in its Bazaar incarnation) and Mercurial. I'll try to show how such a
tool could help further FreeBSD development, both as a tool and as a new
development process. Migrating VCS is a tedious task and there are several
issues that we must look at before undertaking this project.
speaker: Ollivier Robert
location: SITE B0138