附录 B CVS 命令快速参考
本附录说明如何执行 cvs,以及每个命令和特性详细的参考。可以运行
cvs --help
命令,或参阅 _Index 了解其他的参考。
一个 cvs 命令像这样:
cvs [ global_options ] command [ command_options ] [ command_args ]
全局选项:
--allow-root=
rootdir- 指定合法的 cvsroot 目录(只用于服务器)(cvs 1.9 和更早版本无效)。
见 Password authentication server。
-a
- 认证所有的通讯(只用于客户端)(CVS 1.9 和更早版本无效)。
见 Global options.
-b
- 指定 RCS 位置(cvs 1.9 和更早版本)。见 Global options。
-d
root- 指定 cvsroot。见 Repository。
-e
editor- 使用 editor 编辑消息。见 Committing your changes。
-f
- 不读取 ~/.cvsrc 文件。见 Global options。
-H
--help
- 打印帮助讯息。见 Global options。
-n
- 不修改任何文件。见 Global options。
-Q
- 完全沉默。见 Global options。
-q
- 一定程度上沉默。见 Global options。
-r
- 让新工作文件只读。见 Global options。
-s
variable=
value- 设置用户变量。见 Variables。
-T
tempdir- 将临时文件放到 tempdir。见 Global options。
-t
- 跟踪 cvs 执行。见 Global options。
-v
--version
- 显示 cvs 的版本和版权信息。
-w
- 让新工作文件可读写。见 Global options。
-x
- 加密全部的通讯(只用于客户端)。见 Global options。
-z
gzip-level- 设置压缩等级(只用于客户端)。见 Global options。
关键字扩展模式 (参阅 Substitution modes):
-kkv $Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp $
-kkvl $Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
-kk $Id$
-kv file1,v 1.1 1993/12/09 03:21:13 joe Exp
-ko no expansion
-kb no expansion, file is binary
关键字 (参阅 Keyword list):
$Author: joe $
$Date: 1993/12/09 03:21:13 $
$CVSHeader: files/file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
$Header: /home/files/file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
$Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
$Locker: harry $
$Name: snapshot_1_14 $
$RCSfile: file1,v $
$Revision: 1.1 $
$Source: /home/files/file1,v $
$State: Exp $
$Log: file1,v $
Revision 1.1 1993/12/09 03:30:17 joe
Initial revision
命令,命令选项,以及命令参数:
add [
options] [
files...]
- 添加新文件/目录。见 Adding files。
-k
kflag- 设定关键字扩展。
-m
msg- 设定文件说明。
admin [
options] [
files...]
- 管理仓库里面的历史文件。见 admin。
-b[
rev]
- 设定默认分支。见 Reverting local changes。
-c
string- 设定注释头。
-k
subst- 设定关键字替换。见 Keyword substitution。
-l[
rev]
- 给修订版 REV,或最新修订版加锁。
-m
rev:
msg- 用 msg 替换修订版 rev 的日志消息。
-o
range- 删除仓库里面的修订版。见 admin options。
-q
- 安静地运行; 不打印任何诊断消息。
-s
state[:
rev]
- 设定状态。
-t
- 从标准输入设定文件说明。
-t
file- 从 file 设定文件说明。
-t-
string- 从 string 设定文件说明。
-u[
rev]
- 给修订版 rev,或最新修订版解锁。
annotate [
options] [
files...]
- 列出最新修订版修改的每一行。见 annotate。
-D
date- 批注不迟于 date 的最新修订版。见 Common options。
-F
- 批注二进制文件。(没有此选项,二进制文件显示消息后跳过。)
-f
- 如果没有 tag/date,使用最新修订版。见 Common options。
-l
- 只运行在当前目录。参阅 Recursive behavior.
-R
- 递归方式处理(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 批注修订版 tag。或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Common options。
checkout [
options]
modules...
- 获得源码的副本。见 checkout。
-A
- 重置任何粘性的 tags/date/options。见 Sticky tags
和 Keyword substitution。
-c
- 输出模块数据库。见 checkout options。
-D
date- 检出 date (粘性的) 的修订版。见 Common options。
-d
dir- 检出到 dir。见 checkout options。
-f
- 如果 tag/date 找不到,使用 head 修订版。见 Common options。
-j
tag[:
date]
- 合并指定的 tag 修改。或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 checkout options。
-k
kflag- 使用 kflag 关键字扩展。见 Substitution modes。
-l
- 只在当前工作目录里执行。参阅 Recursive behavior.
-N
- 如果指定 -d,不“缩短”模块路径。见 checkout options。
-n
- 不执行模块程序(如有)。见 checkout options。
-P
- 删除空目录。见 Moving directories。
-p
- 检出文件到标准输出(避免粘著)。见 checkout options。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 检出 tag 修订版(粘性的)。或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Common options。
-s
- 类似 -c,但是包含模块状态。见 checkout options。
commit [
options] [
files...]
- 将修改提交到仓库。见 commit。
-c
- 在提交之前,检验有效的修改。要求 cvs 客户端和服务器都是 1.12.10 或更新版本。
-F
file- 从 file 读取日志消息。见 commit options。
-f
-
强制文件提交,禁止递归。见 commit options。
-l
- 只在当前目录运行。见 Recursive behavior。
-m
msg- 用 msg 作为日志消息。见 commit options。
-n
- 不执行模块程序(如有)。见 commit options。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
rev- 提交到 rev。见 commit options。
diff [
options] [
files...]
- 显示修订版间的差异。见 diff。除了下面这些选项,它还可以使用大量输出
控制格式选项,例如用于比较内容的 `-c'。
-D
date1- 比较此日期修订版与工作文件。见 diff options。
-D
date2- 比较 rev1/date1 和 date2。见 diff options。
-l
- 只运行在当前工作目录。见 Recursive behavior。
-N
- 比较包括添加和删除的文件。见 diff options。
-R
- 递归执行(默认)。见 参阅 Recursive behavior.
-r
tag1[:
date1]
- 比较 tag1 修订版和工作文件,或者当 date1 指定,并且 tag1
是分支标签,分支 tag1 上的版本可以当作是在 date1 上。
见 diff options 和 Common options。
-r
tag2[:
date2]
- 比较 rev1/date1 与 tag2,或者当 date2 指定,并且
tag2 是分支标签,分支 tag2 上的版本可以当作是在 date2 上。
见 diff options 和 Common options。
edit [
options] [
files...]
- 准备编辑被监视的文件。见 Editing files。
-a
actions- 指定临时监视的动作,其中 actions 是
edit
, unedit
,
commit
, all
或 none
。见 Editing files。
-c
- 检验编辑: 如果有人已经编辑了文件,edit 将失败。需要 cvs 客户端和服务器
的版本都在 1.12.10 或更高。
-f
- 强行编辑; 忽略其他的编辑。1.12.10 版添加。
-l
- 只在当前工作目录执行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
editors [
options] [
files...]
- 查看有谁在监视文件。见 Watch information。
-l
- 只在当前工作目录执行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
export [
options]
modules...
- 从 cvs 导出文件。见 export。
-D
date- 检出 date 的修订版。见 Common options。
-d
dir- 检出到 dir。见 export options。
-f
- 如有标签/日期,使用最新的修订版。见 Common options。
-k
kflag- 使用 kflag 关键字扩展。见 Substitution modes。
-l
- 只在当前工作目录执行。参阅 Recursive behavior.
-N
- 如果指定 -d,不“缩短”模块路径。见 export options。
-n
- 不执行模块程序(如有)。见 export options。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 检出 tag 修订版,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Common options。
history [
options] [
files...]
- 显示访问仓库的历史。见 history。
-a
- 所有用户 (默认只是自己)。见 history options。
-b
str- 显示在模块名/文件名/仓库中包含字符串 str 的记录。见 history options。
-c
- 报告提交(修改)的文件。见 history options。
-D
date- 从 date 开始。见 history options。
-e
- 所有的记录类型。见 history options。
-l
- 最后的修改 (提交或修改报告)。见 history options。
-m
module- 报告特定的 module (可重复)。见 history options。
-n
module- 在 module 里面。见 history options。
-o
- 报告检出的模块。见 history options。
-p
repository- 在 repository。见 history options。
-r
rev- 从 rev 修订版开始。见 history options。
-T
-
对所有的 TAG 生成报告。见 history options。
-t
tag- 自从标签报告放入历史文件(任何人)。见 history options。
-u
user- 对用户 user (可重复)。见 history options。
-w
- 必须匹配工作目录。见 history options。
-x
types- 报告 types,
TOEFWUPCGMAR
中的一个或多个。见 history options。
-z
zone- 输出时区 zone。见 history options。
import [
options]
repository vendor-tag release-tags...
- 导入文件至 cvs,使用供应商分支。见 import。
-b
bra- 导入到供应商 bra 分支。见 Multiple vendor branches。
-d
- 使用文件的修改时间做完导入时间。见 import options。
-k
kflag- 设置默认的关键字替换模式。见 import options。
-m
msg- 使用 msg 作为日志消息。见 import options。
-I
ign- 更多的忽略文件(! 重置)。见 import options。
-W
spec- 更多的封装。见 import options。
init
- 如果没有 cvs 仓库,创建它。见 Creating a repository。
kserver
- Kerberos 认证服务器。见 Kerberos authenticated。
log [
options] [
files...]
- 打印文件的历史信息。见 log。
-b
- 只列出默认分支的修订版。见 log options。
-d
dates- 指定日期(d1<d2 是范围,d 是最新版之前)。见 log options。
-h
- 只打印前面。见 log options。
-l
- 只在当前目录里面运行。见 Recursive behavior。
-N
- 不列出标签。见 log options。
-R
- 只打印 RCS 文件名。见 log options。
-r
revs- 只列出 revs 修订版。见 log options。
-s
states- 只列出指定状态的修订版。见 log options。
-t
- 只打印前面和描述文字。见 log options。
-w
logins- 只列出指定登录用户提交的修订版。见 log options。
login
- 提示输入认证服务器的密码。见 Password authentication client。
logout
- 删除储存的认证服务器密码。见 Password authentication client。
pserver
- 密码认证服务器。见 Password authentication server。
rannotate [
options] [
modules...]
- 显示最后修订版中所做的每一行修改。见 annotate。
-D
date- 批注不迟于 date 的最新修订版。见 Common options。
-F
- 强制批注二进制文件。(无此选项,跳过二进制文件,只显示信息。)
-f
- 如果没有找到标签/日期,使用最新修订版。见 Common options。
-l
- 只运行在当前工作目录。参阅 Recursive behavior.
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 批注 tag 修订版,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Common options。
rdiff [
options]
modules...
- 显示发行版间的差异。见 rdiff。
-c
- 上下文 diff 格式(默认)。见 rdiff options。
-D
date- 基于 date 的修订版。见 Common options。
-f
- 如果没有匹配的修订版,使用最新的修订版。见 Common options。
-l
- 只运行在当前目录。Recursive behavior。
-R
- 递归方式操作(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 基于 tag 的修订版,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。
见 diff options 和 Common options。
-s
- 短 patch - 每个文件一行。见 rdiff options。
-t
- diff 顶端 - 文件最后的修改。见 diff options。
-u
- unidiff 输出格式。见 rdiff options。
-V
vers- 使用 RCS 版本 vers 的关键字扩展(荒废)。见 rdiff options。
release [
options]
directory- 从仓库里面删除条目。见 release。
-d
- 删除给出的目录。见 release options。
remove [
options] [
files...]
- 从仓库里面删除条目。见 Removing files。
-f
- 在 remove 之前先删除文件。见 Removing files。
-l
- 只在当前工作目录里面运行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
rlog [
options] [
files...]
- 打印模块的历史信息。见 log。
-b
- 只列出默认分支的修订版。见 log options。
-d
dates- 指定日期(d1<d2 是范围,d 是最新版之前)。见 log options。
-h
- 只打印前面。见 log options。
-l
- 只在当前目录里面运行。见 Recursive behavior。
-N
- 不列出标签。见 log options。
-R
- 只打印 RCS 文件名。见 log options。
-r
revs- 只列出 revs 修订版。见 log options。
-s
states- 只列出指定状态的修订版。见 log options。
-t
- 只打印前面和描述文字。见 log options。
-w
logins- 只列出指定登录用户提交的修订版。见 log options。
rtag [
options]
tag modules...
- 给模块加符号标签。见 Revisions 和 Branching and merging。
-a
- 清除删除文件上不需要的标签。见 Tagging add/remove。
-b
- 创建名为 tag 的分支。见 Branching and merging。
-B
- 联合 -F 或 -d 使用,允许移动和删除分支。使用时要特别小心。
-D
date- 给 date 的修订版打标签。见 Tagging by date/tag。
-d
- 删除 tag。见 Modifying tags。
-F
- 如果存在,移动 tag。见 Modifying tags。
-f
- 如果没有标签/日期,使用最新的修订版。见 Tagging by date/tag。
-l
- 只在当前工作目录运行。见 Recursive behavior。
-n
- 不执行 tag 程序。见 Common options。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 给已有的 tag 打标签,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Tagging by date/tag
和 Common options。
server
- rsh 服务器。见 Connecting via rsh。
status [
options]
files...
- 显示工作目录里的状态信息。见 File status。
-l
- 只在当前目录里面运行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-v
- 包括文件的标签信息。见 Tags。
tag [
options]
tag [
files...]
- 给检出的文件增加符号标签。见 Revisions 和 Branching and merging。
-b
- 创建名为 tag 的分支。见 Branching and merging。
-c
- 检验未修改的工作文件。见 Tagging the working directory。
-D
date- 给 date 的修订版打标签。见 Tagging by date/tag。
-d
- 删除 tag。见 Modifying tags。
-F
- 如果存在,移动 tag。见 Modifying tags。
-f
- 如果没有标签/日期,使用最新的修订版。见 Tagging by date/tag。
-l
- 只在当前工作目录运行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 给已有的 tag 打标签,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Tagging by date/tag
和 Common options。
unedit [
options] [
files...]
- 撤消编辑命令。见 Editing files。
-l
- 只在当前工作目录运行。见 Recursive behavior。
-R
- 递归执行(默认)。参阅 Recursive behavior.
update [
options] [
files...]
- 同步工作目录与源码。见 update。
-A
- 重置所有的粘性标签/日期/选项。见 Sticky tags 和 Keyword substitution。
-C
- 用仓库里面干净的副本覆盖本地的修改(但修改过的文件另存为
.#file.revision)。
-D
date- 检出 date 的修订版(粘性)。见 Common options。
-d
- 创建目录。见 update options。
-f
- 如没有标签/日期,使用最新修订版。见 Common options。
-I
ign- 忽略更多的文件(! 重置)。见 import options。
-j
tag[:
date]
- 合并 tag 指定的修改,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 update options。
-k
kflag- 使用 kflag 关键字扩展。见 Substitution modes。
-l
- 只在当前工作目录里面运行。参阅 Recursive behavior.
-P
- 清除空目录。见 Moving directories。
-p
- 检出到标准输出(避免粘性)。见 update options.
-R
- 递归操作(默认)。参阅 Recursive behavior.
-r
tag[:
date]
- 检出 tag 修订版,或者当 date 指定,并且 tag 是分支标签,
分支 tag 上的版本可以当作是在 date 上。见 Common options。
-W
spec- 更多封装。见 import options。
version
-
显示 cvs 使用的版本。如果使用远程仓库,同时显示客户端和服务器的版本。
watch [on|off|add|remove] [
options] [
files...]
-
on/off: 打开/关闭检出文件的只读。见 Setting a watch。
add/remove: 添加或删除操作的提示。见 Getting Notified。
-a
actions- 指定临时监视的动作,其中 actions 为
edit
, unedit
,
commit
, all
或 none
。见 Editing files。
-l
- 只在当前工作目录里面执行。见 Recursive behavior。
-R
- 递归方式检出(默认)。参阅 Recursive behavior.
watchers [
options] [
files...]
- 查看谁在监视文件。见 Watch information。
-l
- 递归方式检出(默认)。 Recursive behavior。
-R
- 递归方式检出(默认)。参阅 Recursive behavior.