I have been scouring the CVS man page for a while now, but am not able to follow what this CVS command is meant to do exactly. There appears to be multiple listings for -F in the man page, Im not sure if this is being used to specify a log file or regex or what. Is it merging ${newTag}
into ${mainTag}
or is constantPerl the tag? mainTag is defined as 'Production' and newTag is passed in as an argument to the script that runs this:
cvs -d /home/main/cvs rtag -r ${newTag} -F ${mainTag} constantPerl
CVS has two kinds of options, global options and command options.
The form of a cvs command is:
cvs [ GLOBAL_OPTIONS ] COMMAND [ COMMAND_OPTIONS ] [ COMMAND_ARGS ]
In your case
cvs -d /home/main/cvs rtag -r ${newTag} -F ${mainTag} constantPerl
the COMMAND is rtag
. You can tell from that that
-d /home/main/cvs
is a global option (that can apply to any cvs command) and that
-r ${newTag}
and
-F ${mainTag}
are command options, specific to the rtag
command. Anything between the cvs
command and the sub-command name (rtag
, log
, etc.) is a global option; anything following the sub-command name is a command option or a command argument.
In the CVS documentation (info cvs
), go to the "Invoking CVS" section and search for rtag
, where you'll find the following:
'
-r TAG[:DATE]
'
Tag the revision already tagged with TAG or, when DATE is specified and TAG is a branch tag, the version from the branch TAG as it existed on DATE. See *note Tagging by date/tag:: and *note Common options::.
and:
'
-F
'
Move TAG if it already exists. See *note Modifying tags::.