This section describes the command_options that are available across several cvs commands. These options are always given to the right of cvs_command. Not all commands support all of these options; each option is only supported for commands where it makes sense. However, when a command has one of these options you can almost always count on the same behavior of the option as in other commands. (Other command options, which are listed with the individual commands, may have different behavior from one cvs command to the other).
Note: the history command is an exception; it supports many options that conflict even with these standard options.
-D
date_specThe specification is sticky when you use it to make a private copy of a source file; that is, when you get a working file using -D, cvs records the date you specified, so that further updates in the same directory will use the same date (for more information on sticky tags/dates, see Sticky tags).
-D is available with the annotate
, checkout
,
diff
, export
, history
,
rdiff
, rtag
, and update
commands.
(The history
command uses this option in a
slightly different way; see history options).
A wide variety of date formats are supported by cvs. The most standard ones are ISO8601 (from the International Standards Organization) and the Internet e-mail standard (specified in RFC822 as amended by RFC1123).
ISO8601 dates have many variants but a few examples are:
1972-09-24 1972-09-24 20:05
There are a lot more ISO8601 date formats, and cvs accepts many of them, but you probably don't want to hear the whole long story :-).
In addition to the dates allowed in Internet e-mail itself, cvs also allows some of the fields to be omitted. For example:
24 Sep 1972 20:05 24 Sep
The date is interpreted as being in the local timezone, unless a specific timezone is specified.
These two date formats are preferred. However, cvs currently accepts a wide variety of other date formats. They are intentionally not documented here in any detail, and future versions of cvs might not accept all of them.
One such format is
month/
day/
year. This may
confuse people who are accustomed to having the month
and day in the other order; 1/4/96 is January 4,
not April 1.
Remember to quote the argument to the -D flag so that your shell doesn't interpret spaces as argument separators. A command using the -D flag can look like this:
$ cvs diff -D "1 hour ago" cvs.texinfo
-f
Note that even with -f, a tag that you specify must exist (that is, in some file, not necessary in every file). This is so that cvs will continue to give an error if you mistype a tag name.
-f is available with these commands:
annotate
, checkout
, export
,
rdiff
, rtag
, and update
.
WARNING: The commit
and remove
commands also have a
-f option, but it has a different behavior for
those commands. See commit options, and
Removing files.
-k
kflagcheckout
or update
commands,
cvs associates your selected kflag with the
file, and continues to use it with future update
commands on the same file until you specify otherwise.
The -k option is available with the add
,
checkout
, diff
, rdiff
, import
and
update
commands.
-l
Available with the following commands: annotate
, checkout
,
commit
, diff
, edit
, editors
, export
,
log
, rdiff
, remove
, rtag
,
status
, tag
, unedit
, update
, watch
,
and watchers
.
-m
messageAvailable with the following commands: add
,
commit
and import
.
-n
Note: this is not the same as the cvs -n program option, which you can specify to the left of a cvs command!
Available with the checkout
, commit
, export
,
and rtag
commands.
-P
-p
checkout
and update
commands.
-R
Available with the following commands: annotate
, checkout
,
commit
, diff
, edit
, editors
, export
,
rdiff
, remove
, rtag
,
status
, tag
, unedit
, update
, watch
,
and watchers
.
-r
tagtag
or rtag
command, two special tags are
always available: HEAD refers to the most recent version
available in the repository, and BASE refers to the
revision you last checked out into the current working directory.
The tag specification is sticky when you use this
with checkout
or update
to make your own
copy of a file: cvs remembers the tag and continues to use it on
future update commands, until you specify otherwise (for more information
on sticky tags/dates, see Sticky tags).
The tag can be either a symbolic or numeric tag, as described in Tags, or the name of a branch, as described in Branching and merging. When a command expects a specific revision, the name of a branch is interpreted as the most recent revision on that branch.
Specifying the -q global option along with the -r command option is often useful, to suppress the warning messages when the rcs file does not contain the specified tag.
Note: this is not the same as the overall cvs -r option, which you can specify to the left of a cvs command!
-r is available with the annotate
, checkout
,
commit
, diff
, history
, export
, rdiff
,
rtag
, and update
commands.
-W
import
,
and update
.