2. The Repository
The CVS repository stores a complete copy of
all the files and directories which are under version
control.
Normally, you never access any of the files in the
repository directly. Instead, you use CVS
commands to get your own copy of the files into a
working directory, and then
work on that copy. When you've finished a set of
changes, you check (or commit) them back into the
repository. The repository then contains the changes
which you have made, as well as recording exactly what
you changed, when you changed it, and other such
information. Note that the repository is not a
subdirectory of the working directory, or vice versa;
they should be in separate locations.
CVS can access a repository by a variety of
means. It might be on the local computer, or it might
be on a computer across the room or across the world.
To distinguish various ways to access a repository, the
repository name can start with an access method.
For example, the access method :local:
means to
access a repository directory, so the repository
:local:/usr/local/cvsroot
means that the
repository is in `/usr/local/cvsroot' on the
computer running CVS. For information on other
access methods, see Remote repositories.
If the access method is omitted, then if the repository
starts with `/', then :local:
is
assumed. If it does not start with `/' then either
:ext:
or :server:
is assumed. For
example, if you have a local repository in
`/usr/local/cvsroot', you can use
/usr/local/cvsroot
instead of
:local:/usr/local/cvsroot
. But if (under
Windows NT, for example) your local repository is
`c:\src\cvsroot', then you must specify the access
method, as in :local:c:/src/cvsroot
.
The repository is split in two parts. `$CVSROOT/CVSROOT' contains
administrative files for CVS. The other directories contain the actual
user-defined modules.