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

A.19.1 update options

These standard options are available with update (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.


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.


Local; run only in current working directory. See Recursive behavior.


Prune empty directories. See Moving directories.


Pipe files to the standard output.


Update directories recursively (default). See Recursive behavior.

-r rev

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

These special options are also available with update.


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.


Overwrite locally modified files with clean copies from the repository (the modified file is saved in .#file.revision, however).


Create any directories that exist in the repository if they’re missing from the working directory. Normally, update acts only on directories and files that were already enrolled in your working directory.

This is useful for updating directories that were created in the repository since the initial checkout; but it has an unfortunate side effect. If you deliberately avoided certain directories in the repository when you created your working directory (either through use of a module name or by listing explicitly the files and directories you wanted on the command line), then updating with ‘-d’ will create those directories, which may not be what you want.

-I name

Ignore files whose names match name (in your working directory) during the update. You can specify ‘-I’ more than once on the command line to specify several files to ignore. Use ‘-I !’ to avoid ignoring any files at all. See cvsignore for other ways to make CVS ignore some files.


Specify file names that should be filtered during update. You can use this option repeatedly.

spec can be a file name pattern of the same type that you can specify in the .cvswrappers file. See Wrappers.


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.

Note that using a single ‘-j tagname’ option rather than ‘-j branchname’ to merge changes from a branch will often not remove files which were removed on the branch. See Merging adds and removals for more information.

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.

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