Go to the first, previous, next, last section, table of contents.

## checkout--Check out sources for editing

- Synopsis: checkout [options] modules...
- Requires: repository.
- Changes: working directory.
- Synonyms: co, get

Make 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 part of the command 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, `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 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).

Running `checkout` on a directory that was already built by a prior `checkout` is also permitted, and has the same effect as specifying the ``-d'` option to the `update` command, that is, any new directories that have been created in the repository will appear in your work area. See section update--Bring work tree in sync with repository.

For the output produced by the `checkout` command see section update output.

- checkout options: checkout options
- checkout examples: checkout examples

Go to the first, previous, next, last section, table of contents.