DVCS, or a New Way to Use Version Control Systems on FreeBSD?
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.
About the author
Ollivier Robert has been a FreeBSD developer for more than 10 years now and playing with 386BSD and various UNIX before. He has worked on several areas in FreeBSD including documentation, VFS layer and ports. He is now maintaining the ntp utilities. VCS has been a special interest of his for a long time and recent tools make him think it may be time to switch over.
Copyright © 2005 by EuroBSDCon 2005. All rights reserved.