A.8 checkout—Check out sources for editing
Synopsis: checkout [options] modules…
Changes: working directory.
Synonyms: co, get
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
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 section The modules file.
Depending on the modules you specify,
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.
checkout is used to create
directories. The top-level directory created is always
added to the directory where
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 section Global options) is specified, the
CVSREAD environment variable is specified
(see section All environment variables which affect CVS), or a watch is in
effect for that file (see section Mechanisms to track who is editing files).
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
update command in the sense that new
directories that have been created in the repository
will appear in your work area.
checkout takes a module name whereas
update takes a directory name. Also
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
For the output produced by the
see update output.