下一个: , 上一个: Global options, 上层: CVS commands


A.5 通用命令选项

这一节来说明 `command_options',它通用于一些 cvs 命令。这些选项总是 出现在 `cvs_command' 的右侧。不是所有的命令都支持这些选项; 每个选项只用在 有意义的命令上。但是,当一个命令具有这些选项的时候,它和其余命令总是起着相同的 作用。(单独列在命令中的其他命令选项,如果用于不同的 cvs 命令也许会有 不同的意义)。

注意: `history' 命令是个例外;它支持的许多选项,即使是标准的选项 也会有冲突。

-D date_spec
使用不迟于 date_spec 的最新版本。date_spec 是单一参数,指定一个过去 的日期。

当你用这种方法生成一个源文件的拷贝时,这是一个 sticky 标签; 也就是说, 当使用 `-D' 得到的工作文件,cvs 会记住所指定的日期,以后在同一个目录 里面更新时,仍会使用这个日期(了解更多的粘性标签/日期信息,参阅 Sticky tags)。

`-D' 可用于 annotate, checkout, diff, export, history, ls, rdiff, rls, rtag, tagupdate 命令。(history 命令使用这个选项时有不同的作用; 参阅 history options)。

全面了解 cvs 中可以使用的日期格式,Date input formats

要记住需要将这些 `-D' 的参数用引号标明,避免 shell 将参数分割解释。 采用 `-D' 标记的命令如下:

          $ cvs diff -D "1 hour ago" cvs.texinfo
     


-f
当你为 cvs 命令指定一个日期或标签时,通常会忽略不包括该标签的文件(或者在 所要日期之前不存在)。使用 `-f' 选项可以让你在这些文件不匹配标签或日期时 也能取得(使用这些文件的最新版本)。

注意,即使使用 `-f' 选项,所指定的标签也必须存在(就是说存在于一些文件上, 但不必是所有文件)。如果敲错了标签名,cvs 还是会给出错误信息。

`-f' 可用于: annotate, checkout, export, rdiff, rtagupdate

警告: commitremove 命令也有 `-f' 选项,它们有不同 的含义。参阅 commit optionsRemoving files

-k kflag
改变不同于 `-kb' 默认处理 RCS 关键字的方式。KFLAG 的含义 参阅 Keyword substitution. 与 checkoutupdate 命令一起使用这个选项, 它是属于粘性的; 也就是说,在 checkoutupdate 命令中使用这个选项, cvs 将这些文件与 kflag 关联起来,以后同一个文件上持续使用 kflag, 直到换用其他方式。

`-k' 选项用于 add, checkout, diff, export, importupdate 命令。

警告: CVS 1.12.2 之前的版本,`-k' 标志覆盖指定二进制文件的 `-kb' 标志。这会损坏二进制文件。 参阅 Merging and keywords, 进一步了解。

-l
只作用于本目录,不递归到子目录。

用于下列命令: annotate, checkout, commit, diff, edit, editors, export, log, rdiff, remove, rtag, status, tag, unedit, update, watchwatchers


-m message
使用 message 作为日志信息,而不调出一个文本编辑器。

适用于下列命令: add, commitimport

-n
不执行任何 tag 程序。(外部程序可在模块数据库 (参阅 modules) 里指定); 本命令忽略它们)。

注意: 此选项与 `cvs -n' 不同,它可以位于 cvs 命令的左侧!

适用于 checkout, commit, exportrtag 命令。

-P
去除空目录。参阅 Removing directories
-p
将源码库中取得的结果由管道至标准输出,而不是写到当前工作目录中。适用于 checkoutupdate 命令。
-R
用递归方式处理目录。除了 ls & rlscvs 所有的命令都是默认打开。

适用于下列命令: annotate, checkout, commit, diff, edit, editors, export, ls, rdiff, remove, rls, rtag, status, tag, unedit, update, watch, 和 watchers

-r tag
-r tag[:date]
使用指定的 tag 的参数(以及命令接受的 date 参数),代替默认的 head 作为所需的版本。 与 tagrtag 定义的标签一起,有两个特殊的标签存在于源码库中: `HEAD' 指仓库中最新的版本,`BASE' 指最后检出到工作目录的版本。

checkoutupdate 命令配合这个选项生成的源码拷贝是粘性的: cvs 会记住这个标签,并继续用在以后的更新命令中,除非你特别指定另外一个 (了解粘性标签/日期的信息,参阅 参阅 Sticky tags)。

标签可以是字符代号或者数字,参见 Tags,或者是分支名, 见 Branching and merging。当 tag 是分支名,一些命令接受可选的 date 参数指定分支上给定日期的修订版。

全局选项 `-q' 经常和命令 `-r' 选项一起使用,当 rcs 文件不包括 指定标签时,它不显示相应的警告信息。

注意: 这个选项与全局选项 `cvs -r' 不同,那个出现在 cvs 命令的左侧!

`-r tag' 可用于 commithistory 命令。

`-r tag[:date]' 可用于 annotate, checkout, diff, export, rdiff, rtagupdate 命令。

-W
指定需要被过滤的文件名。可以循环使用这个选项。规格与 .cvswrappers 文件中 指定的文件名模板相同。可用于下列命令:importupdate