CVS---Concurrent Versions System. Node: checkout

PREVadmin UPCVS commands NEXTcommit

A.7: checkout---Check out sources for editing

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.

  • checkout options checkout options
  • checkout examples checkout examples
  • PREVadmin UPCVS commands NEXTcommit