Setting up a CVS repository - the FreeBSD way

Stijn Hoop

Revision: 43184
Legal Notice
Last modified on 2013-11-13 by hrs.

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.

Table of Contents
1. Introduction
2. First setup
3. FreeBSD specific setup

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.

All FreeBSD documents are available for download at

Questions that are not answered by the documentation may be sent to <>.
Send questions about this document to <>.