下一个: , 上一个: CVS commands, 上层: Top


附录 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
-cstring
设定注释头。
-ksubst
设定关键字替换。见 Keyword substitution
-l[rev]
给修订版 REV,或最新修订版加锁。
-mrev:msg
msg 替换修订版 rev 的日志消息。
-orange
删除仓库里面的修订版。见 admin options
-q
安静地运行; 不打印任何诊断消息。
-sstate[:rev]
设定状态。
-t
从标准输入设定文件说明。
-tfile
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 tagsKeyword 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/date1date2。见 diff options
-l
只运行在当前工作目录。见 Recursive behavior
-N
比较包括添加和删除的文件。见 diff options
-R
递归执行(默认)。见 参阅 Recursive behavior.
-r tag1[:date1]
比较 tag1 修订版和工作文件,或者当 date1 指定,并且 tag1 是分支标签,分支 tag1 上的版本可以当作是在 date1 上。 见 diff optionsCommon options
-r tag2[:date2]
比较 rev1/date1tag2,或者当 date2 指定,并且 tag2 是分支标签,分支 tag2 上的版本可以当作是在 date2 上。 见 diff optionsCommon options

edit [options] [files...]
准备编辑被监视的文件。见 Editing files
-a actions
指定临时监视的动作,其中 actionsedit, unedit, commit, allnone。见 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
报告 typesTOEFWUPCGMAR 中的一个或多个。见 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
-rrevs
只列出 revs 修订版。见 log options
-s states
只列出指定状态的修订版。见 log options
-t
只打印前面和描述文字。见 log options
-wlogins
只列出指定登录用户提交的修订版。见 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 optionsCommon 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
-rrevs
只列出 revs 修订版。见 log options
-s states
只列出指定状态的修订版。见 log options
-t
只打印前面和描述文字。见 log options
-wlogins
只列出指定登录用户提交的修订版。见 log options

rtag [options] tag modules...
给模块加符号标签。见 RevisionsBranching 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/tagCommon options

server
rsh 服务器。见 Connecting via rsh
status [options] files...
显示工作目录里的状态信息。见 File status
-l
只在当前目录里面运行。见 Recursive behavior
-R
递归执行(默认)。参阅 Recursive behavior.
-v
包括文件的标签信息。见 Tags

tag [options] tag [files...]
给检出的文件增加符号标签。见 RevisionsBranching 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/tagCommon options

unedit [options] [files...]
撤消编辑命令。见 Editing files
-l
只在当前工作目录运行。见 Recursive behavior
-R
递归执行(默认)。参阅 Recursive behavior.

update [options] [files...]
同步工作目录与源码。见 update
-A
重置所有的粘性标签/日期/选项。见 Sticky tagsKeyword 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
指定临时监视的动作,其中 actionsedit, unedit, commit, allnone。见 Editing files
-l
只在当前工作目录里面执行。见 Recursive behavior
-R
递归方式检出(默认)。参阅 Recursive behavior.

watchers [options] [files...]
查看谁在监视文件。见 Watch information
-l
递归方式检出(默认)。 Recursive behavior
-R
递归方式检出(默认)。参阅 Recursive behavior.