Topics covered in this chapter include repository creation, configuration, security, backup, and recovery. It also covers the structure of the repository and the sandbox, the file locking that CVS uses internally, how to edit the repository manually, and the CVS administrative files and environment variables. This chapter is about the repository and the projects stored in it. If you want a quick guide to creating an initial repository, see the instructions in Chapter 2.
In this chapter, I assume that the reader is skilled with Unix and/or Linux operating systems. Running Linux, by Matthias Kalle Dalheimer and Matt Welsh (O'Reilly), is an excellent introduction to Linux systems. Learning the Unix Operating System, by Jerry Peek et al. (O'Reilly), provides information on Unix.
Repository administrators using CVSNT can still use the information in this chapter: I have tried to identify places where I use Unix/Linux-specific terminology, and to provide a generic term as well. There are differences between the CVSNT and the CVS server, so the instructions given here will vary from those for CVSNT.
CVS uses the term CVSROOT in two different ways. As the environment variable, it refers to the root directory (topmost folder) of the repository. However, inside the repository is a directory called CVSROOT. To avoid confusion, this chapter never refers to the root directory of the repository as CVSROOT, and, except when mentioning the environment variable, this chapter uses the term CVSROOT solely to refer to the CVSROOT subdirectory of the repository root directory.