Next: , Up: checkout   [Contents][Index]


A.9.1 checkout options

These standard options are supported by checkout (see Common options for a complete description of them):

-D date

Use the most recent revision no later than date. This option is sticky, and implies ‘-P’. See Sticky tags for more information on sticky tags/dates.

-f

Only useful with the ‘-D date’ or ‘-r tag’ flags. If no matching revision is found, retrieve the most recent revision (instead of ignoring the file).

-k kflag

Process keywords according to kflag. See Keyword substitution. This option is sticky; future updates of this file in this working directory will use the same kflag. The status command can be viewed to see the sticky options. See Invoking CVS for more information on the status command.

-l

Local; run only in current working directory.

-n

Do not run any checkout program (as specified with the ‘-o’ option in the modules file; see modules).

-P

Prune empty directories. See Moving directories.

-p

Pipe files to the standard output.

-R

Checkout directories recursively. This option is on by default.

-r tag

Use revision tag. This option is sticky, and implies ‘-P’. See Sticky tags, for more information on sticky tags/dates.

In addition to those, you can use these special command options with checkout:

-A

Reset any sticky tags, dates, or ‘-k’ options. Does not reset sticky ‘-k’ options on modified files. See Sticky tags for more information on sticky tags/dates.

-c

Copy the module file, sorted, to the standard output, instead of creating or modifying any files or directories in your working directory.

-d dir

Create a directory called dir for the working files, instead of using the module name. In general, using this flag is equivalent to using ‘mkdir dir; cd dir’ followed by the checkout command without the ‘-d’ flag.

There is an important exception, however. It is very convenient when checking out a single item to have the output appear in a directory that doesn’t contain empty intermediate directories. In this case only, CVS tries to “shorten” pathnames to avoid those empty directories.

For example, given a module ‘foo’ that contains the file ‘bar.c’, the command ‘cvs co -d dir foo’ will create directory ‘dir’ and place ‘bar.c’ inside. Similarly, given a module ‘bar’ which has subdirectory ‘baz’ wherein there is a file ‘quux.c’, the command ‘cvs co -d dir bar/baz’ will create directory ‘dir’ and place ‘quux.c’ inside.

Using the ‘-N’ flag will defeat this behavior. Given the same module definitions above, ‘cvs co -N -d dir foo’ will create directories ‘dir/foo’ and place ‘bar.c’ inside, while ‘cvs co -N -d dir bar/baz’ will create directories ‘dir/bar/baz’ and place ‘quux.c’ inside.

-j tag

With two ‘-j’ options, merge changes from the revision specified with the first ‘-j’ option to the revision specified with the second ‘j’ option, into the working directory.

With one ‘-j’ option, merge changes from the ancestor revision to the revision specified with the ‘-j’ option, into the working directory. The ancestor revision is the common ancestor of the revision which the working directory is based on, and the revision specified in the ‘-j’ option.

In addition, each -j option can contain an optional date specification which, when used with branches, can limit the chosen revision to one within a specific date. An optional date is specified by adding a colon (:) to the tag: ‘-jSymbolic_Tag:Date_Specifier’.

See Branching and merging.

-N

Only useful together with ‘-d dir’. With this option, CVS will not “shorten” module paths in your working directory when you check out a single module. See the ‘-d’ flag for examples and a discussion.

-s

Like ‘-c’, but include the status of all modules, and sort it by the status string. See modules, for info about the ‘-s’ option that is used inside the modules file to set the module status.


Next: , Up: checkout   [Contents][Index]