下一个: , 上层: checkout


A.9.1 checkout 选项

这些是 checkout 支持的标准选项(参阅 Common options,了解完整的信息):

-D date
使用不迟于 date 的最新修订版。该选项是粘性的,也就是 `-P'。 参阅 Sticky tags,了解更多粘性标签/日期的信息。
-f
只与 `-D' 或 `-r' 标识一起使用。 如果找不到匹配的修订版,将使用最新的修订版(而不是忽略文件)。
-k kflag
根据 kflag 处理关键字。参阅 Keyword substitution。此选项是粘性的; 以后在这个工作目录里面更新,还是使用相同的 kflagstatus 命令 可以看到粘性的选项。参阅 Invoking CVS,了解 status 命令的信息。
-l
只在当前工作目录里面执行。
-n
不运行任何检出程序(如同在模块文件里面指定 `-o' 选项; 参阅 modules)。
-P
清除空目录。参阅 Moving directories
-p
管道方式输出到标准输出。
-R
递归方式检出。此选项是默认的。
-r tag[:date]
使用 tag 修订版,或者当 date 指定,并且 tag 是分支标签, tag 分支上的版本当作存在于 date 上。 此选项是粘性的,含 `-P'。参阅 Sticky tags, 了解更多粘性标签/日期的信息。以及 Common options

除了这些,你还可以在 checkout 里面使用特殊的命令选项:

-A
重置任何的粘性标签,日期,或 `-k' 选项。参阅 Sticky tags,了解更多 粘性标签/日期的信息。
-c
复制模块文件,排序,输出到标准输出,而不是在工作目录里面创建和修改文件与目录。
-d dir
为工作文件创建名为 dir 的目录,而不是使用模块名。通常,使用此标识等同于 使用 `mkdir dir; cd dir',然后是不带 `-d' 标识的检出命令。

然而,有一个重要的例外。习惯上,检出单独的项目只输出到一个目录而不会包含中间 空的目录。在这种情况下,cvs 尽力“缩短”路径名,避免空目录。

例如,模块 `foo' 包含 `bar.c'.c' 文件, `cvs co -d dir foo' 命令将建立 `dir' 目录并将 `bar.c' 文件放在里面。同样,模块 `bar' 里面有 `baz' 子目录,其中有一个文件 `quux.c'.c', `cvs co -d dir bar/baz' 将创建 `dir' 目录,并将 `quux.c' 放在里面。

使用 `-N' 标识将破坏这种行为。使用上面相同的模块,`cvs co -N -d dir foo' 将建立 `dir/foo' 目录并放入 `bar.c' 文件,使用 `cvs co -N -d dir bar/baz' 将建立 `dir/bar/baz' 目录并将 `quux.c' 放在里面。

-j tag
用两个 `-j' 选项,合并第一个 `-j' 选项至第二个 `-j' 之间修订版间 的修改到工作目录。

使用一个 `-j' 选项,合并祖先修订版至 `-j' 选项指定的修订版间的修改到 工作目录。祖先修订版是所基于的工作目录和 `-j' 选项指定的修订版的共同祖先。

另外,每个 -j 选项可以包含可选的日期规格,当与分支使用时,可以限定在指定日期 内选择修订版。可选的日期由标签中增加的 (:) 分号指定: `-jSymbolic_Tag:Date_Specifier'。

参阅 Branching and merging.

-N
只与 `-d dir' 一起使用。采用这个选项,cvs 在检出单独模块时, 将不再“缩短”工作目录里面的模块路径。参阅 `-d' 标识中的例子和讨论。
-s
类似 `-c',但包含所有模块的状态,并按状态字符串排序。参阅 modules, 了解 `-s' 选项的信息,它用在模块文件里面设置模块状态。