This book can be read out of sequence, so you can learn about any aspect of CVS at the time you need it. However, the concepts are presented in a logical order, and they might be more easily understood if you read the chapters in order. The book is organized into five parts.
Part I explains the basic concepts of CVS and includes a quickstart guide. If you don't already know CVS, read the quickstart guide before going on to the rest of the book. Part I includes the following chapters:
This chapter is an overview of CVS, versioning systems, and the practical uses of CVS.
If you need to get up to speed rapidly, this is the chapter for you. It explains how to build and use a basic CVS repository with default settings and a minimum of extras.
Part II explains the core concepts behind CVS and describes the commands most people use on a day-to-day basis. Part II consists of the following chapters:
This chapter explains the everyday CVS commands and concepts, the ones that almost everyone who uses CVS will need. Each command is accompanied by an example and a description of the most commonly used options to the command.
Commands in this chapter include add, remove, commit, and update. Concepts covered include the CVS repository and sandboxes, conflicts and merges, using CVS with binary files, and switching repositories.
Tagging, branching, and merging branches back to the trunk are closely related topics. This chapter explains tagging and branching, including why and when to tag or branch your project, tagging before releases, and using branching to create a bugfix version of a project.
This chapter explains the systems used in CVS to permit multiple developers to work on the same project without loss of data. For example, it discusses the commands available for displaying changes to files.
Part III is for project managers and repository administrators. The chapters can be read in any order, but later chapters assume familiarity with commands explained in earlier chapters. Part III includes the following chapters:
This chapter discusses repository management and the modules in the repository. It covers creating a repository and estimating disk space, the structure of the CVS repository, configuration and permissions, repository security, and hand-editing a repository.
This chapter covers the tools used by project administrators. Topics include importing and exporting projects, using the cvs admin command, reading the output of the logging commands, and using the info configuration files to interact with bug-tracking systems or to enforce log-message formats.
Most projects involve a repository on a different machine from the client. This chapter discusses the security considerations and methods of remote access and how to set up each method.
Every tool has its caveats and gotchas. This chapter provides examples of things that can go wrong when using CVS and how to fix them.
Part IV is designed to be used as a reference; it includes the following chapters:
This chapter is a reference of CVS commands, providing the syntax and options for each command.
This chapter covers CVS administrative files, environment variables that affect CVS, date formats, pattern matching, and the repository access methods, in reference form.
Part V contains brief information on, and pointers to, various third-party tools that work with CVS. It includes the following appendixes:
This appendix discusses third-party CVS clients for Windows, Unix, GNU/Linux, and Macintosh operating systems. It also discusses the tools that integrate CVS with programmers' integrated development environments (IDEs).
Because CVS is a useful open source tool, people have written third-party tools for it. This appendix explains some of the useful third-party tools available for CVS.
In addition to the five parts just described, this book also contains a CVS Quick Reference section for when you just need a quick reminder of command syntax.