Create or update a working directory containing copies of the
source files specified by modules. You must execute
checkout
before using most of the other CVS
commands, since most of them operate on your working
directory.
The modules are either
symbolic names for some
collection of source directories and files, or paths to
directories or files in the repository. The symbolic
names are defined in the `modules
' file.
See modules.
Depending on the modules you specify, checkout
may
recursively create directories and populate them with
the appropriate source files. You can then edit these
source files at any time (regardless of whether other
software developers are editing their own copies of the
sources); update them to include new changes applied by
others to the source repository; or commit your work as
a permanent change to the source repository.
Note that checkout
is used to create
directories. The top-level directory created is always
added to the directory where checkout
is
invoked, and usually has the same name as the specified
module. In the case of a module alias, the created
sub-directory may have a different name, but you can be
sure that it will be a sub-directory, and that
checkout
will show the relative path leading to
each file as it is extracted into your private work
area (unless you specify the `-Q
' global option).
The files created by checkout
are created
read-write, unless the `-r
' option to CVS
(see Global options) is specified, the
CVSREAD
environment variable is specified
(see Environment variables), or a watch is in
effect for that file (see Watches).
Note that running checkout
on a directory that was already
built by a prior checkout
is also permitted.
This is similar to specifying the `-d
' option
to the update
command in the sense that new
directories that have been created in the repository
will appear in your work area.
However, checkout
takes a module name whereas
update
takes a directory name. Also
to use checkout
this way it must be run from the
top level directory (where you originally ran
checkout
from), so before you run
checkout
to update an existing directory, don't
forget to change your directory to the top level
directory.
For the output produced by the checkout
command
see update output.