Go to the previous, next section.

update options

These standard options are available with update (see section Common command 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'.

-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 RCS keywords according to kflag. See co(1). 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 section status--Status info on the revisions.

-l
Local; run only in current working directory.

-P
Prune empty directories.

-p
Pipe files to the standard output.

-Q
Really quiet.

-q
Somewhat quiet.

-R
Commit directories recursively. This is on by default.

-r tag
Retrieve revision tag. This option is sticky, and implies `-P'.

These special options are also available with update.

-A
Reset any sticky tags, dates, or `-k' options. (If you get a working copy of a file by using one of the `-r', `-D', or `-k' options, CVS remembers the corresponding tag, date, or kflag and continues using it on future updates; use the `-A' option to make CVS forget these specifications, and retrieve the head revision of the file).

-d
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. By default, update ignores files whose names match any of the following:

        RCSLOG  RCS     SCCS
        CVS*    cvslog.*
        tags    TAGS
        .make.state     .nse_depinfo
        *~      #*      .#*     ,*
        *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
        *.a     *.o     *.so    *.Z     *.elc   *.ln  
        core

Use `-I !' to avoid ignoring any files at all. See section Ignoring files via cvsignore, for other ways to make CVS ignore some files.

-jbranch
Merge the changes made between the resulting revision and the revision that it is based on (e.g., if the tag refers to a branch, CVS will merge all changes made in that branch into your working file).

With two `-j' options, CVS will merge in the changes between the two respective revisions. This can be used to remove a certain delta from your working file; if the file `foo.c' is based on revision 1.6 and you want to remove the changes made between 1.3 and 1.5, you might do:

$ cvs update -j1.5 -j1.3 foo.c   # note the order...

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'.

Go to the previous, next section.