Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided also that the
section entitled "GNU General Public License" is included exactly as
in the original, and provided that the entire resulting derived work is
distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that the section entitled "GNU General Public License" and
this permission notice may be included in translations approved by the
Free Software Foundation instead of in the original English.

Up to this point, one of the weakest parts of CVS
has been the documentation. CVS is a complex
program. Previous versions of the manual were written
in the manual page format, which is not really well
suited for such a complex program.

When writing this manual, I had several goals in mind:

No knowledge of RCS should be necessary.

No previous knowledge of revision control software
should be necessary. All terms, such as revision
numbers, revision trees and merging are
explained as they are introduced.

The manual should concentrate on the things CVS users
want to do, instead of what the CVS commands can do.
The first part of this manual leads you through things
you might want to do while doing development, and
introduces the relevant CVS commands as they are
needed.

Information should be easy to find. In the reference
manual in the appendices almost all information about
every CVS command is gathered together. There is also
an extensive index, and a lot of cross references.

This manual was contributed by Signum Support AB in
Sweden. Signum is yet another in the growing list of
companies that support free software. You are free to
copy both this manual and the CVS program.
See section GNU GENERAL PUBLIC LICENSE, for the details. Signum Support offers
support contracts and binary distribution for many
programs, such as CVS, GNU Emacs, the
GNU C compiler and others. Write to us for
more information.

CVS is a complex system. You will need to read
the manual to be able to use all of its capabilities.
There are dangers that can easily be avoided if you
know about them, and this manual tries to warn you
about them. This checklist is intended to help you
avoid the dangers without reading the entire manual.
If you intend to read the entire manual you can skip
this table.

Binary files

CVS can handle binary files, but
you must have RCS release 5.5 or later and
a release of GNU diff that supports the `-a'
flag (release 1.15 and later are OK). You must also
configure both RCS and CVS to handle binary
files when you install them.

Keword substitution can be a source of trouble with
binary files. See section Keyword substitution, for
solutions.

Roland Pesch, Cygnus Support <pesch@cygnus.com>
wrote the manual pages which were distributed with
CVS 1.3. Appendix A and B contain much text that
was extracted from them. He also read an early draft
of this manual and contributed many ideas and
corrections.

The mailing-list info-cvs is sometimes
informative. I have included information from postings
made by the following persons:
David G. Grubbs <dgg@think.com>.

Some text has been extracted from the man pages for
RCS.

The CVS FAQ by David G. Grubbs has provided
useful material. The FAQ is no longer maintained,
however, and this manual about the closest thing there
is to a successor (with respect to documenting how to
use CVS, at least).