Setting up a CVS repository - the FreeBSD way

Stijn Hoop

$FreeBSD: doc/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml,v 1.16 2006/01/23 00:48:35 keramida Exp $

This article describes the steps I took to set up a CVS repository that uses the same scripts the FreeBSD project uses in their setup. This has several advantages over a stock CVS setup, including more granular access control to the source tree and generation of readable email of every commit.

1 Introduction

Most of the open source software projects use CVS as their source code control system. While CVS is pretty good at this, it has its share of flaws and weaknesses. One of these is that sharing a source tree with other developers can quickly lead to a system administration nightmare, especially if one wishes to protect parts of the tree from general access.

FreeBSD is one of the projects using CVS. It also has a large base of developers located around the world. They developed some scripts to make management of the repository easier. Recently, these scripts were revisited and normalized by Josef Karthauser to make it easier to reuse them in other projects. This article describes one method of using the new scripts.

To make the most use of the information in this article, you need to be familiar with the basic method of operation of CVS.

This, and other documents, can be downloaded from

For questions about FreeBSD, read the documentation before contacting <>.
For questions about this documentation, e-mail <>.