英语法语西班牙语

Ad


OnWorks 网站图标

cvs - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 cvs

这是可以在 OnWorks 免费托管服务提供商中使用我们的多个免费在线工作站之一运行的命令 cvs,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


cvs - 并发版本系统

概要


CVS [ cvs_选项 ]
cvs_命令 [ 命令选项 [ 命令参数 ]

注意


此联机帮助页是一些功能的摘要 CVS. 它是从一个自动生成的
CVS 手册的附录。 如需更深入的文档,请参阅
Cederqvist 手册(通过 MirBSD 在线 (HTML) 手册页中的 cvs(GNU) 链接,
info CVS 命令或其他方式,如本联机帮助页的另请参见部分中所述)。
本手册页中的交叉引用指的是相同的节点。

CVS 命令


产品指南 CVS 命令
本附录描述了整体结构 CVS 命令,并描述一些命令
详细(其他在别处描述;快速参考 CVS 命令,见节点
CVS 手册中的“调用 CVS”)。

结构


整体 结构体 of CVS 命令
所有的整体格式 CVS 命令是:

cvs [cvs_options] cvs_command [command_options] [command_args]

CVS

的名字 CVS 程序。

cvs_选项

一些影响所有子命令的选项 CVS. 这些描述如下。

cvs_命令

几个不同的子命令之一。 一些命令有别名,可以是
改为使用; 这些别名在该命令的参考手册中注明。 那里
只有两种情况可以省略 cvs_命令: CVS -H 引出一个列表
可用命令,以及 CVS -v 显示版本信息 CVS 本身。

命令选项

特定于命令的选项。

命令参数

命令的参数。

不幸的是,两者之间存在一些混淆 cvs_选项命令选项。 何时
作为一个 cvs_选项,某些选项仅影响某些命令。 当作为
命令选项 它可能有不同的含义,并被更多的命令接受。 在
换句话说,不要把上面的分类看得太重。 看着那(这
文档代替。

Exit 退出 状态


CVS的 出口 状态
CVS 可以通过设置其向调用环境指示它是成功还是失败
出口 状态. 测试退出状态的确切方法因操作系统而异
到另一个。 例如在 unix shell 脚本中 $? 如果最后一个变量将是 0
命令返回成功退出状态,如果退出状态指示,则返回大于 0
失败。

If CVS 成功,返回成功状态; 如果有错误,它会打印一个
错误消息并返回失败状态。 对此的一个例外是 CVS 差异
命令。 如果没有发现差异或失败,它将返回成功状态
状态是否存在差异或错误。 因为这种行为提供
没有检测错误的好方法,将来有可能 CVS 差异 将被改变
表现得像另一个 CVS 命令。

〜/.cvsrc


默认 选项 〜/.cvsrc 文件
有一些当您孩子因疼痛而呕吐的 命令选项 经常使用以至于您可能已经设置了别名
或其他一些方法来确保您始终指定该选项。 一个例子(一个
这推动了该计划的实施 .cvsrc 支持,实际上)是很多人发现的
的默认输出 差异 命令很难阅读,而且无论是上下文
diffs 或 unidiffs 更容易理解。

〜/.cvsrc 文件是一种可以添加默认选项的方式 cvs_命令 在简历中,
而不是依赖别名或其他 shell 脚本。

的格式 〜/.cvsrc 文件很简单。 文件被搜索以开始的行
同名 cvs_命令 被处决。 如果找到匹配项,则
该行的其余部分(在空白字符处)被拆分为单独的选项和
添加到命令参数 before 命令行中的任何选项。

如果一个命令有两个名字(例如, 结帐co),正式名称,不一定是
在命令行上使用的一个,将用于匹配文件。 所以如果这是
用户的内容 〜/.cvsrc 文件:

日志-N
差异-uN
rdiff-u
更新 -Pd
结帐 -P
释放 -d

命令 CVS 结帐 FOO 会有 -P 选项添加到参数,以及
CVS co FOO.

使用上面的示例文件,输出来自 CVS 差异 foob​​ar 将采用 unidiff 格式。
CVS 差异 -c foob​​ar 将像往常一样提供上下文差异。 获取“旧”格式差异会
稍微复杂一点,因为 差异 没有指定使用的选项
“旧”格式,所以你需要 CVS -f 差异 foob​​ar.

代替命令名称,您可以使用 CVS 指定全局选项(参见节点“全局”
选项”在 CVS 手册中)。 例如以下行 .cvsrc

简历-z6

原因 CVS 使用压缩级别 6。

全球 选项


可用 cvs_选项 (在左边给出 cvs_命令) 是:

--允许根=根目录

可以多次调用以指定一个合法的 根目录 每个目录
调用。 也使 CVS 为每个指定的根预解析配置文件,
这在配置写入代理时很有用,请参阅节点“密码验证”
CVS 手册中的“服务器”和 CVS 手册中的节点“写入代理”。

-a

验证客户端和服务器之间的所有通信。 只对有影响
CVS 客户。 在撰写本文时,这仅在使用 GSSAPI 时实现
连接(请参阅 CVS 手册中的节点“GSSAPI 已验证”)。 身份验证阻止
某些类型的攻击涉及劫持主动 TCP 联系。 启用
身份验证不启用加密。

-b 绑定

In CVS 1.9.18 及更早版本,这指定了 RCS 程序在 绑定 目录。
当前版本 CVS 别跑 RCS 程式; 为了兼容性,这个选项是
接受,但它什么也不做。

-T 临时目录

使用 临时目录 作为临时文件所在的目录。

CVS 客户端和服务器将临时文件存储在一个临时目录中。 通往
这个临时目录是通过以下优先顺序设置的:

· 对全球的争论 -T 选项。

· 设置的值 目录 在配置文件中(仅限服务器 - 请参阅节点“配置”中的
CVS 手册)。

· 内容 $ TMPDIR 环境变量(%TMPDIR% 在 Windows 上 - 见节点
CVS 手册中的“环境变量”)。

· / tmp目录

临时目录应始终指定为绝对路径名。 什么时候
运行 CVS 客户端, -T 只影响本地进程; 指定 -T 为客户
对服务器没有影响,反之亦然。

-d cvs_root_directory

使用 cvs_root_directory 作为存储库的根目录路径名。 覆盖
的设置 $CVSROOT 环境变量。 请参阅 CVS 手册中的节点“存储库”。

-e 编辑

使用 编辑 输入修订日志信息。 覆盖设置 $简历编辑器
$编辑器 环境变量。 有关更多信息,请参阅节点“提交您的
CVS 手册中的更改。

-f

不要阅读 〜/.cvsrc 文件。 此选项最常使用,因为
的非正交性 CVS 选项集。 例如, CVS 日志 选项 -N (关掉
标签名称的显示)没有相应的选项来打开显示。 所以
如果你有 -N ,在 〜/.cvsrc 进入 日志,您可能需要使用 -f 显示标签
名称。

-g

伪造对工作副本中文件的组可写权限。 这个选项是
通常在您有多个用户共享单个签出的源树时使用,
允许他们使用危险性较低的 umask 操作炮弹,但代价是 CVS
安全。 要使用此功能,请创建一个目录来保存检出的源代码树,
将其设置为私有组,并设置目录,以便在其下创建文件
继承目录的gid。 在 BSD 系统上,这会自动发生。 在 SYSV 上
系统和 GNU/Linux,为此必须在目录中设置 sgid 位。 用户
谁要共享签出的树必须放在拥有该树的组中
目录。

请注意,共享单个检出的源代码树与提供非常不同
几个用户访问一个共同的 CVS 存储库。 访问一个共同的 CVS 知识库
已经维护共享组写入权限,不需要此选项。

由于安全隐患,在您的全局设置此选项 .cvsrc 文件是
强烈劝阻; 如果必须,请确保所有源检出都在一个
私人组或私人模式 0700 目录。

此选项是合并到 MirBSD 的 MidnightBSD 扩展 CVS.

-H

- 帮帮我

显示指定的使用信息 cvs_命令 (但实际上并没有执行
命令)。 如果不指定命令名称, CVS -H 显示整体帮助
CVS,包括其他帮助选项的列表。

-R

打开只读存储库模式。 这允许人们从只读文件中签出
存储库,例如在 anoncvs 服务器中,或来自 光盘 库。

效果一样 CVS只读文件 环境变量已设置。 使用 -R 还可以
大大加快了 NFS 上的结帐速度。

-n

不要更改任何文件。 尝试执行 cvs_命令,但只发布报告;
不要删除、更新或合并任何现有文件,或创建任何新文件。

需要注意的是 CVS 不一定会产生与没有完全相同的输出 -n。在
在某些情况下,输出将相同,但在其他情况下 CVS 将跳过一些
产生完全相同的输出所需的处理。

-Q

使命令真正安静; 该命令只会生成严重的输出
问题。

-q

使命令有些安静; 信息性消息,例如报告
通过子目录的递归被抑制。

-r

将新的工作文件设为只读。 效果一样 $CVSREAD 环境变量
已设置(请参阅 CVS 手册中的节点“环境变量”)。 默认是使
工作文件可写,除非手表打开(请参阅 CVS 手册中的节点“手表”)。

-s 变量=折扣值

设置用户变量(请参阅 CVS 手册中的节点“变量”)。

-t

跟踪程序执行; 显示显示步骤的消息 CVS 活性。
特别有用 -n 探索陌生命令的潜在影响。

-v

- 版

显示版本和版权信息 CVS.

-w

使新的工作文件可读写。 覆盖设置 $CVSREAD 环境
多变的。 文件默认以读写方式创建,除非 $CVSREAD 设置或 -r is
给定的。

-x

加密客户端和服务器之间的所有通信。 只对效果有影响
CVS 客户。 在撰写本文时,这仅在使用 GSSAPI 连接时实现
(请参阅 CVS 手册中的节点“GSSAPI 已验证”)或 Kerberos 连接(请参阅节点
CVS 手册中的“Kerberos 身份验证”)。 启用加密意味着消息
流量也经过身份验证。 默认情况下不提供加密支持; 它必须
使用特殊的配置选项启用, --启用加密,当你构建 CVS.

-z 水平

请求压缩 水平 用于网络流量。 CVS 解释 水平
GZIP 程序。 有效级别为 1(高速、低压缩)到 9(低速、高
压缩),或 0 禁用压缩(默认值)。 发送到服务器的数据将
在请求的级别进行压缩,客户端将请求服务器使用相同的
返回数据的压缩级别。 服务器将使用允许的最接近的级别
服务器管理员压缩返回的数据。 此选项仅在以下情况下有效
传递给 CVS 顾客。

相当常见 选项


相当常见 命令 选项
本节描述了 命令选项 可在多个 CVS 命令。
这些选项总是在 cvs_命令. 并非所有命令都支持所有
这些选项中; 每个选项仅支持有意义的命令。
但是,当命令具有这些选项之一时,您几乎总是可以指望相同的
选项的行为与其他命令一样。 (列出的其他命令选项
使用单个命令,可能会有不同的行为 CVS 命令
其他)。

请注意: 历史 命令 is an 例外; it 支持 许多 选项 冲突 甚至
这些 标准 选项​​。

-D 日期规格

不迟于使用最新版本 日期规格. 日期规格 是一个单一的参数,一个
指定过去日期的日期描述。

规格是 当您使用它制作源文件的私人副本时;
也就是说,当您使用 -D, CVS 记录您指定的日期,因此
同一目录中的进一步更新将使用相同的日期(有关更多信息
关于粘性标签/日期,请参阅 CVS 手册中的节点“粘性标签”)。

-D 可与 注释, 结帐, 差异, 出口, 历史, ls, 差异, 哈哈,
标签, 行李牌更新 命令。 (这 历史 命令稍微使用此选项
不同的方式; 请参阅 CVS 手册中的节点“历史选项”)。

有关接受的日期格式的完整说明 CVS, 见节点'日期输入
CVS 手册中的格式”。

请记住将参数引用到 -D 标记以便您的外壳不会解释
空格作为参数分隔符。 使用命令 -D 标志可以是这样的:

$ cvs diff -D "1 小时前" cvs.texinfo

-f

当您指定特定日期或标签时 CVS 命令,它们通常会忽略文件
不包含您指定的标签(或在日期之前不存在)。
使用 -f 选项,如果您希望即使在标签不匹配的情况下也能检索文件,或者
日期。 (将使用文件的最新版本)。

请注意,即使与 -f,您指定的标签必须存在(即,在某个文件中,而不是
每个文件中都需要)。 这是这样的 CVS 将继续给出错误,如果你
错误输入标签名称。

-f 可用于以下命令: 注释, 结帐, 出口, 差异, 标签
更新.

警告: 承诺 去掉 命令 已可以选用 a -f 选项, 但是 it 具有 a 不同
行为 那些 命令。 我们 节点 '犯罪 选项' in CVS 手册, 节点
'删除 文件' in CVS 手册。

-k 标志

覆盖 RCS 关键字以外的默认处理 -kb. 见节点'关键字
替换”在 CVS 手册中,表示 标志. 与 结帐
更新 命令,你的 标志 规格是 ; 也就是说,当您使用此选项时
结帐 or 更新 命令, CVS 关联您选择的 标志 任何文件
操作,并继续使用 标志 在相同的文件上使用未来的命令
除非您另有说明。

-k 选项可用于 , 结帐, 差异, 出口, 进口, 差异
更新 命令。

警告: CVS 版本 -k 超越 -kb 迹象 a
二进制 文件中。 本篇 可以 有时 腐败 二进制 文件。 我们 节点 '合并
关键词' in CVS 手册, 更多。

-l

当地的; 仅在当前工作目录中运行,而不是通过递归
子目录。

可用于以下命令: 注释, 结帐, 承诺, 差异, 编辑, 编辑,
出口, 日志, 差异, 去掉, 标签, 状态, 行李牌, 未编辑, 更新, 观察家.

-m 的话

使用 的话 作为日志信息,而不是调用编辑器。

可用于以下命令: , 承诺进口.

-n

不要运行任何标签程序。 (可以指定一个程序在模块数据库中运行
(请参阅 CVS 手册中的节点“模块”); 此选项绕过它)。

请注意: Free Introduction is 不能 as CVS -n 程序 选项, 能够 指定
of a CVS 命令!

可与 结帐, 承诺, 出口标签 命令。

-P

修剪空目录。 请参阅 CVS 手册中的节点“删除目录”。

-p

将从存储库中检索到的文件通过管道传输到标准输出,而不是写入
它们在当前目录中。 可与 结帐更新 命令。

-R

递归处理目录。 这是所有人的默认设置 CVS 命令,与
的例外 ls & 哈哈.

可用于以下命令: 注释, 结帐, 承诺, 差异, 编辑, 编辑,
出口, ls, 差异, 去掉, 哈哈, 标签, 状态, 行李牌, 未编辑, 更新, 观察家.

-r 行李牌

-r 行李牌[:日期]

使用指定的修订版 行李牌 论点(和 日期 命令的参数
接受它)而不是默认值 修订。 以及任意标签
定义为 行李牌 or 标签 命令,两个特殊标签始终可用:
到存储库中可用的最新版本(也称为
主要 分支,也称为主干; 树枝的名称是指它的尖端; 这个版本
of CVS 介绍 .bhead,但只针对 差异 命令,同样),和 BASE
到您上次检出到当前工作目录的修订版。

当您使用它时,标签规范是粘性的 结帐 or 更新 使你的
自己的文件副本: CVS 记住标签并在将来的更新中继续使用它
命令,直到您另行指定(有关粘滞标签/日期的更多信息,请参阅
CVS 手册中的节点“粘性标签”)。

标签可以是符号或数字标签,如 CVS 中的节点“标签”中所述
手册或分支的名称,如 CVS 中的节点“分支和合并”中所述
手动的。 什么时候 行李牌 是分支的名称,一些命令接受可选 日期
参数指定从分支上的给定日期开始的修订。 当一个命令
期望特定的修订,分支的名称被解释为最新的
对该分支的修订。

作为一个 MirOS CVS 扩展名,指定 BASE 作为 日期 论证的一部分产生
基地 调整 指定分行的 行李牌 论证的一部分,即
在父分支上修订 行李牌 分支分裂,或者,两个分支都是
相同的。 这个选项还没有经过太多的测试,当心!

指定 -q 全局选项以及 -r 命令选项通常很有用,用于
RCS 文件不包含指定的标签。

请注意: Free Introduction is 不能 as 最划算 CVS -r 选项, 能够 指定
of a CVS 命令!

-r 行李牌 可与 承诺历史 命令。

-r 行李牌[:日期] 可与 注释, 结帐, 差异, 出口, 差异, 标签
更新 命令。

-W

指定应过滤的文件名。 您可以重复使用此选项。 这
spec 可以是相同类型的文件名模式,您可以在
.cvwrappers 文件。 可用于以下命令: 进口更新.

管理员


行政和支持部门
· 需要:存储库、工作目录。

· 变化:存储库。

· 同义词:rcs

这是 CVS 各种行政设施的接口。 他们中的一些人有
可疑的用途 CVS 但为了历史目的而存在。 某些
有问题的选择在未来很可能会消失。 这个命令 工作
递归,因此应格外小心。

在 unix 上,如果有一个名为的组 管理员, 只有该组的成员才能运行 CVS
管理员 命令,使用指定的命令除外 用户管理选项 配置
在选项 CVSROOT/配置 文件。 使用指定的选项 用户管理选项 可以运行
任何用户。 有关更多信息,请参阅 CVS 手册中的节点“config” 用户管理选项.

管理员 组应存在于服务器或任何运行该组的系统上
非客户端/服务器 CVS. 禁止 CVS 管理员 对于所有用户,创建一个没有
用户在其中。 在 NT 上, 管理员 功能不存在,所有用户都可以运行 CVS
管理员.

管理员 选项


其中一些选项对以下方面的有用性值得怀疑 CVS 但为了历史而存在
目的。 有些甚至无法使用 CVS 直到你撤消效果!

-A旧文件

可能无法与 CVS. 附加访问列表 旧文件 到访问列表
RCS 文件中。

-a登录

可能无法与 CVS. 附加出现在
以逗号分隔的列表 登录 到访问列表 RCS 文件中。

-b[]

将默认分支设置为 。在 CVS,您通常不操作默认分支;
粘性标签(请参阅 CVS 手册中的节点“粘性标签”)是确定哪个节点的更好方法
你想工作的分支。 奔跑的理由只有一个 CVS 管理员 -b: 回到
使用供应商分支时供应商的版本(请参阅节点“恢复本地更改”
CVS 手册)。 之间不能有空格 -b 及其论证。

-c绳子

将评论领导者设置为 绳子. 当前版本不使用评论领导者
of CVS or RCS 5.7. 因此,您几乎可以肯定不必担心。 查看节点
CVS 手册中的“关键字替换”。

-e[登录]

可能无法与 CVS. 擦除出现在
以逗号分隔的列表 登录 从 RCS 文件的访问列表。 如果 登录 省略,
清除整个访问列表。 之间不能有空格 -e 及其论证。

-I

以交互方式运行,即使标准输入不是终端。 该选项不
与客户端/服务器一起工作 CVS 并且很可能会在未来的版本中消失 CVS.

-i

没用的 CVS. 这将创建并初始化一个新的 RCS 文件,无需存入
修订。 和 CVS, 添加文件 CVS 命令(请参阅节点“添加文件”
CVS 手册)。

-kSUBST

将默认关键字替换设置为 SUBST. 请参阅节点“关键字替换”中的
CVS手册。 给出明确的 -k 选项 CVS 更新, CVS 出口CVS 结帐
覆盖此默认值。

-l[]

用数字锁定修订 . 如果给出了分支,则将最新修订版锁定在
那个分支。 如果 省略,锁定默认分支上的最新版本。 那里
之间不能有空格 -l 及其论证。

这可以与 rcslock.pl 脚本中 的contrib 目录
CVS 源分发以提供保留的结帐(其中只有一个用户可以
一次编辑一个给定的文件)。 有关详细信息,请参阅该文件中的注释(并参阅
读我 该目录中的文件,以获得关于 contrib 不受支持性质的免责声明)。
根据该文件中的注释,锁定必须设置为严格(这是默认值)。

-L

将锁定设置为严格。 严格锁定意味着 RCS 文件的所有者不能免除
从锁定签入。 用于 CVS,必须设置严格的锁定; 见
下的讨论 -l 以上选项。

-m:味精

替换修订的日志消息 味精.

-N姓名[:[]]

表现得像 -n, 除了覆盖任何先前的分配 姓名. 与魔法一起使用
分支,请参阅 CVS 手册中的节点“魔术分支编号”。

-n姓名[:[]]

关联符号名称 姓名 与分支或修订 . 通常会更好
使用 CVS 行李牌 or CVS 标签 反而。 如果两者都删除符号名称 : ,那恭喜你,
省略; 否则,打印错误信息,如果 姓名 已经与另一个相关联
数字。 如果 是象征性的,它在联想之前被扩展。 一个 由一个
分行号后跟 . 代表分支中的当前最新版本。 一个 :
空着 代表默认分支上的当前最新版本,通常
行李箱。 例如, CVS 管理员 -n姓名: 联营公司 姓名 与当前最新
所有RCS文件的修订; 这与 CVS 管理员 -n姓名:$ 哪个联营公司
姓名 与从相应关键字字符串中提取的修订号
工作文件。

-o范围

删除 (过时的) 给出的修订 范围.

请注意,除非您知道,否则此命令可能非常危险 究竟 你在做什么
(例如,请参阅下面有关如何 rev1:rev2 语法令人困惑)。

如果您缺少光盘,此选项可能对您有所帮助。 但在使用前请三思——
没有办法恢复最新的备份来撤消这个命令! 如果你
由于粗心或(天堂
禁止) a CVS 错误,在修订之前没有机会纠正错误
删除。 对存储库的副本进行试验可能是个好主意
第一。

指定 范围 通过以下方式之一:

rev1::rev2

折叠 rev1 和 rev2 之间的所有修订,以便 CVS 只存储差异
与从 rev1 到 rev2 相关联,而不是中间步骤。 例如,经过
-o 1.3 1.5 :: 可以检索修订版 1.3、修订版 1.5 或差异以获取
从 1.3 到 1.5,但不是修订版 1.4,或 1.3 和 1.4 之间的差异。
其他例子: -o 1.3 1.4 ::-o 1.3 1.3 :: 没有效果,因为没有
要删除的中间修订。

::

在包含的分支的开头之间折叠修订 本身。
分支点和 完好无损。 例如, -o :: 1.3.2.6 删除修订
1.3.2.1、修订版 1.3.2.5 以及介于两者之间的所有内容,但保留 1.3 和 1.3.2.6
完整。

::

折叠修订版之间 和分支的结尾包含 . 修订
保持不变,但删除了主要修订版。



删除修订 。 例如, -o 1.3 相当于 -o 1.2 1.4 ::.

rev1:rev2

删除修订从 rev1rev2,包括,在同一个分支上。 一个不会
能够取回 rev1 or rev2 或两者之间的任何修订。 例如,
命令 CVS 管理员 -oR_1_01:R_1_02 . 很少有用。 意思是删除修订版
到并包括标签 R_1_02。 但要小心! 如果有文件没有
在 R_1_02 和 R_1_03 之间更改文件将具有 数字修正
分配给标签 R_1_02 和 R_1_03 的编号。 所以不仅不可能
检索 R_1_02; R_1_03 也必须从磁带中恢复! 大多数情况下
你要指定 rev1::rev2 代替。

:

从包含的分支的开头删除修订 直到并包括
.

:

从修订中删除修订 ,包括 本身,到分支的末尾
包含 .

要删除的修订版本都不能有分支或锁。

如果要删除的任何修订具有符号名称,并且其中一个指定
:: 语法,然后 CVS 将给出错误并且不会删除任何修订。 如果你
真的想同时删除符号名和修订版,首先删除
符号名称与 CVS 行李牌 -d,然后运行 CVS 管理员 -o. 如果指定非::
语法,然后 CVS 将删除修订但保留指向的符号名称
不存在的修订。 保留此行为是为了与以前的兼容
版本 CVS,但因为它不是很有用,将来可能会更改为
:: 情况。

由于方式 CVS 处理分支 如果它是一个,则不能象征性地指定
分支。 有关解释,请参阅 CVS 手册中的节点“魔术分支编号”。

确保没有人签出过时的修订副本。 奇怪的
如果他开始编辑它并尝试将其重新签入,事情就会发生。为此
原因,此选项不是收回虚假提交的好方法; 提交一个新的
修订版撤消了虚假更改(请参阅 CVS 中的节点“合并两个修订版”
手动的)。

-q

安静地奔跑; 不打印诊断信息。

-s[:]

有用的 CVS. 设置修订的状态属性 。 如果 是一个
分支编号,假设该分支的最新版本。 如果 被省略,假设
默认分支上的最新版本。 任何标识符都可以接受 。 一个
有用的状态集是 进出口 (用于实验), 酒吧 (稳定),和 相对 (用于
发布)。 默认情况下,新修订的状态设置为 进出口 创建时。
状态在输出中可见 CVS 日志 (请参阅 CVS 手册中的节点“日志”),以及
,在 $日志$$州$ 关键字(请参阅 CVS 手册中的节点“关键字替换”)。
需要注意的是 CVS 使用 状态用于其自身目的(请参阅 CVS 中的节点“阁楼”
手动的); 将文件移入或取自 状态使用命令,如 CVS 去掉CVS
(请参阅 CVS 手册中的节点“添加和删除”),而不是 CVS 管理员 -s.

-t[文件]

有用的 CVS. 从命名的内容中编写描述性文本 文件
RCS 文件,删除现有文本。 这 文件 路径名不能以 -。 该
可以在输出中看到描述性文本 CVS 日志 (请参阅 CVS 中的节点“日志”
手动的)。 之间不能有空格 -t 及其论证。

If 文件 被省略,从标准输入获取文本,由文件尾或由
一行包含 . 通过它自己。 如果可以进行交互,提示输入文本; 看 -I.

-t-绳子

-t文件. 写下描述性的文字 绳子RCS 文件,删除
现有的文本。 之间不能有空格 -t 及其论证。

-U

将锁定设置为非严格。 非严格锁定意味着文件的所有者不需要
锁定一个修订以供签入。 用于 CVS,必须设置严格的锁定; 见
下的讨论 -l 以上选项。

-u[]

查看选项 -l 上面,关于使用这个选项的讨论 CVS. 解锁
带编号的修订版 . 如果给出了一个分支,则解锁该分支的最新版本
分支。 如果 省略,删除调用者持有的最新锁。 通常情况下,只有
修订版的储物柜可以解锁它; 其他人解锁修订打破了
锁。 这会导致原始储物柜被发送 承诺 通知(见节点
CVS 手册中的“获得通知”)。 之间不能有空格 -u 以及
论据。

-Vn

在以前的版本中 CVS, 这个选项意味着写一个 RCS 文件将是
可以接受 RCS 版本 n,但它现在已过时并指定它将产生
错误。

-x后缀

在以前的版本中 CVS,这被记录为一种指定名称的方式
RCS 文件。 然而, CVS 一直要求 RCS 使用的文件 CVS 结束 ,v,
所以这个选项从来没有做过任何有用的事情。

注释


什么是 调整 改性 线 of a 文件?
· 概要:注释[选项]文件...

· 需要:存储库。

· 变化:无。

对于每个文件 , 打印主干的头部修订,连同信息
在每行的最后一次修改上。 如果要求向后注释,则显示
指定修订后的第一次修改。 (目前向后注释
好像坏了。)

注释 选项


这些标准选项由 注释 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-b

向后显示一条线被移除的时间。 目前看来是坏了。

-l

仅本地目录,无递归。

-R

递归处理目录。

-f

如果未找到标签/日期,请使用头部修订。

-F

注释二进制文件。

-r 行李牌[:日期]

从指定的修订版/标签开始注释文件,或者,当 日期 被指定并且 行李牌 是一个
分支标签,来自分支的版本 行李牌 因为它存在于 日期. 见节点'通用
CVS 手册中的选项”。

-D 日期

注释指定日期的文件。

注释 例子


例如:

$ cvs 注释 ssfile
ssfile 的注释
***************
1.1(27 年 96 月 1 日):ssfile 第 XNUMX 行
1.2(乔 28 年 96 月 2 日):ssfile 第 XNUMX 行

该文件 文件 当前包含两行。 这 文件 线 1 线路被签入
玛丽 27 月 28 日。 然后,XNUMX 月 XNUMX 日, 添加了一行 文件 线 2, 无需修改
文件 线 1 线。 这份报告没有告诉你任何关于已被
删除或替换; 你需要使用 CVS 差异 为此(请参阅 CVS 中的节点“差异”
手动的)。

选项 CVS 注释 列在 CVS 手册中的节点“调用 CVS”中,并且可以
用于选择要注释的文件和修订。 选项在更多信息中描述
在那里和 CVS 手册中的节点“通用选项”中详细说明。

结帐


单向阀 输出 来源 编辑
· 概要:结帐[选项]模块...

· 需要:存储库。

·变化:工作目录。

· 同义词:co, get

创建或更新包含由指定的源文件的副本的工作目录
模块. 你必须执行 结帐 在使用其他大部分之前 CVS 命令,因为
它们中的大多数都在您的工作目录上运行。

模块 是某些源目录集合的符号名称和
文件,或存储库中目录或文件的路径。 符号名称是
定义在 模块 文件。 请参阅 CVS 手册中的节点“模块”。

根据您指定的模块, 结帐 可以递归地创建目录和
用适当的源文件填充它们。 然后您可以编辑这些源文件
任何时候(无论其他软件开发商是否正在编辑他们自己的
来源的副本); 更新它们以包括其他人应用到的新更改
源存储库; 或将您的工作作为对源存储库的永久更改提交。

需要注意的是 结帐 用于创建目录。 创建的顶级目录是
总是添加到目录中 结帐 被调用,并且通常具有相同的名称
作为指定的模块。 在模块别名的情况下,创建的子目录可能
具有不同的名称,但您可以确定它将是一个子目录,并且
结帐 将显示通向每个文件的相对路径,因为它被提取到您的
私人工作区(除非您指定 -Q 全局选项)。

创建的文件 结帐 以读写方式创建,除非 -r 选项 CVS (见
CVS 手册中的节点“全局选项”)被指定, CVS读取 环境变量
已指定(请参阅 CVS 手册中的节点“环境变量”),或者手表在
该文件的效果(请参阅 CVS 手册中的节点“Watches”)。

注意运行 结帐 在先前已经建立的目录上 结帐 is
也允许。 这类似于指定 -d 选项 更新 命令输入
在存储库中创建的新目录将出现在
你的工作区。 然而, 结帐 采用模块名称,而 更新 需要一个目录
名称。 也可以使用 结帐 这样它必须从顶级目录运行(其中
你原本跑 结帐 来自),所以在你运行之前 结帐 更新现有的
目录,不要忘记将您的目录更改为顶级目录。

对于产生的输出 结帐 命令查看 CVS 中的节点“更新输出”
手册。

结帐 选项


这些标准选项由 结帐 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-D 日期

不迟于使用最新版本 日期. 此选项是粘性的,并暗示 -P.
有关粘性标签/日期的更多信息,请参阅 CVS 手册中的节点“粘性标签”。

-f

仅与 -D or -r 旗帜。 如果找不到匹配的修订版,则检索
最近的修订版(而不是忽略文件)。

-k 标志

根据处理关键字 标志. 请参阅 CVS 手册中的节点“关键字替换”。
这个选项是粘性的; 此工作目录中此文件的未来更新将使用
相同 标志。 该 状态 可以查看命令以查看粘性选项。 查看节点
CVS 手册中的“调用 CVS”,了解更多关于 状态 命令。

-l

当地的; 仅在当前工作目录中运行。

-n

不要运行任何结帐程序(如 -o 模块文件中的选项;
请参阅 CVS 手册中的节点“模块”)。

-P

修剪空目录。 请参阅 CVS 手册中的节点“移动目录”。

-p

管道文件到标准输出。

-R

递归检出目录。 该选项默认开启。

-r 行李牌[:日期]

签出指定的修订版 行李牌 或者,当 日期 被指定并且 行李牌 是一个分支
标签,来自分支的版本 行李牌 因为它存在于 日期. 此选项是粘性的,并且
暗示 -P. 有关粘性的更多信息,请参阅 CVS 手册中的节点“粘性标签”
标签/日期。 另外,请参阅 CVS 手册中的节点“通用选项”。

除此之外,您还可以使用这些特殊的命令选项 结帐:

-A

重置任何粘性标签、日期或 -k 选项。 请参阅 CVS 手册中的节点“粘性标签”,
有关粘性标签/日期的更多信息。

-c

将已排序的模块文件复制到标准输出,而不是创建或修改
工作目录中的任何文件或目录。

-d DIR

创建一个名为的目录 DIR 对于工作文件,而不是使用模块名称。
一般来说,使用这个标志相当于使用 MKDIR DIR; cd DIR 其次是
结帐命令没有 -d 旗。

然而,有一个重要的例外。 退房时非常方便
使输出出现在不包含空的目录中的单个项目
中间目录。 在这种情况下 仅由, CVS 尝试“缩短”路径名
避免那些空目录。

例如,给定一个模块 FOO 包含文件 酒吧, 命令 CVS co -d DIR
FOO 将创建目录 DIR 和地方 酒吧 里面。 类似地,给定一个模块 酒吧
其中有子目录 巴兹 其中有一个文件 quux.c, 命令 CVS co -d DIR
酒吧/巴兹 将创建目录 DIR 和地方 quux.c 内。

使用 -N flag 将打败这种行为。 鉴于上述相同的模块定义,
CVS co -N -d DIR FOO 将创建目录 目录/foo 和地方 酒吧 在里面,同时 CVS
co -N -d DIR 酒吧/巴兹 将创建目录 目录/酒吧/巴兹 和地方 quux.c 内。

-j 行李牌

有两个 -j 选项,合并来自第一个指定的修订的更改 -j 选项
到第二个指定的修订版 j 选项,进入工作目录。

与一个 -j 选项,合并从祖先修订到指定修订的更改
-j 选项,进入工作目录。 祖先修订是常见的
工作目录所基于的修订的祖先,以及修订
在指定 -j 选项。

此外,每个 -j 选项都可以包含一个可选的日期规范,当使用时
使用分支,可以将所选修订版限制为特定日期内的一个修订版。 一个可选的
日期是通过在标签中添加一个冒号 (:) 来指定的: -j符号标签:日期说明符.

请参阅 CVS 手册中的节点“分支和合并”。

-N

仅与 -d DIR. 有了这个选项, CVS 不会“缩短”模块
检出单个模块时工作目录中的路径。 见 -d 标志为
例子和讨论。

-s

喜欢 -c,但包括所有模块的状态,并按状态字符串对其进行排序。 看
CVS 手册中的节点“模块”,了解有关 -s 内部使用的选项
modules 文件来设置模块状态。

结帐 例子


获取模块的副本 tc:

$ cvs 结帐 tc

获取模块的副本 tc 就像一天前的样子:

$ cvs checkout -D 昨天 tc

承诺


单向阀 知识库
· 概要:commit [-lnRf] [-m 'log_message' | -F 文件] [-r 修订版] [文件...]

· 需要:工作目录、存储库。

· 变化:存储库。

· 同义词:ci

使用 承诺 当您想将工作源文件中的更改合并到
源存储库。

如果您没有指定要提交的特定文件,则您工作中的所有文件
检查当前目录。 承诺 仅在存储库中小心更改
那些你真正改变过的文件。 默认情况下(或者如果您明确指定
-R 选项),如果子目录中的文件有
改变了; 你可以使用 -l 限制选项 承诺 仅到当前目录。

承诺 验证所选文件是否与当前修订版本保持同步
源存储库; 它会通知你,并退出而不提交,如果有任何
必须首先使指定的文件成为当前文件 更新 (请参阅 CVS 中的节点“更新”
手动的)。 承诺 不叫 更新 命令给你,而是把它留给
你在合适的时候去做。

当一切顺利时,将调用编辑器以允许您输入日志消息
写入一个或多个日志程序(参见 CVS 手册中的节点“模块”,并参见
CVS 手册中的节点“loginfo”)并放置在 RCS 存储库中的文件。
可以使用以下命令检索此日志消息 日志 命令; 查看 CVS 中的节点“日志”
手动的。 您可以使用以下命令在命令行上指定日志消息 -m 的话 选项,
从而避免编辑器调用,或使用 -F 文件 选项来指定
参数文件包含日志消息。

At 承诺, 一个唯一的 commitid 被放置在 RCS 存储库中的文件。 所有文件
立即提交得到相同的 commitid,一个仅由十六进制数字组成的字符串
(在 GNU 中通常为 16 CVS, 19 在 MirBSD 和 MirDebian GNU 中 CVS)。 FSF GNU CVS 1.11、米罗斯
GNU CVS 1.11 和 OpenBSD OpenCVS 还不支持 commitids。 commitid 可以是
检索到 日志状态 命令; 请参阅 CVS 手册和节点中的节点“日志”
CVS 手册中的“文件状态”。

承诺 选项


这些标准选项由 承诺 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-l

当地的; 仅在当前工作目录中运行。

-R

递归提交目录。 这是默认开启的。

-r 调整

承诺 调整. 调整 必须是一个分支,或者是主干上的一个修订版
高于任何现有修订号(请参阅节点“分配修订”
CVS 手册)。 您不能提交分支上的特定修订。

承诺 还支持这些选项:

-c

除非用户通过以下方式注册了对文件的有效编辑,否则拒绝提交文件 CVS
编辑. 这在以下情况下最有用 承诺 -c编辑 -c 已被放置在所有 .cvsrc
文件。 无论如何都可以通过通过以下方式追溯注册编辑来强制提交
CVS 编辑 (对文件所做的任何更改都不会丢失)或使用 -f 选择提交。
经验 承诺 -c 需要客户端和服务器版本 1.12.10 或更高版本。

-F 文件

读取日志消息 文件, 而不是调用编辑器。

-f

请注意,这不是 -f 节点“Common”中定义的选项
CVS 手册中的选项”。

CVS 即使您没有对文件进行任何更改,也可以提交新的修订版。 作为
of CVS 版本 1.12.10,它也会导致 -c 被忽略的选项。 如果当前
修订 文件 是 1.7,那么下面两条命令是等价的:

$ cvs 提交 -f 文件
$ cvs 提交 -r 1.8 文件

-f 选项禁用递归(即,它意味着 -l)。 强迫 CVS 提交一个新的
对所有子目录中的所有文件进行修订,您必须使用 -f -R.

-m 的话

使用 的话 作为日志消息,而不是调用编辑器。

承诺 例子


提交中 a
您可以使用以下命令提交分支修订版(具有偶数个点的修订版) -r
选项。 要创建分支修订,请使用 -b 的选项 标签 or 行李牌 命令(见
CVS 手册中的节点“分支和合并”)。 那么,要么 结帐 or 更新
用于将您的源代码基于新创建的分支。 从那时起,所有 承诺
在这些工作源中所做的更改将自动添加到分支
修订,从而不会以任何方式干扰主线开发。 例如,如果你
必须为 1.2 版本的产品创建补丁,即使 2.0 版本是
已经在开发中,你可以这样做:

$ cvs rtag -b -r FCS1_2 FCS1_2_补丁产品模块
$ cvs checkout -r FCS1_2_Patch 产品模块
$ cd 产品模块
[[破解]]
$ cvs 提交

这会自动工作,因为 -r 选项很粘。

创造 after 编辑
假设你一直在开发一些非常实验性的软件,基于任何
你上周结帐时的修订版。 如果您小组中的其他人想工作
和你一起在这个软件上,但不打扰主线开发,你可以提交
您对新分支的更改。 然后其他人可以检查您的实验性内容并使用
充分利用 CVS 解决冲突。 该场景可能如下所示:

[[存在被黑来源]]
$ cvs 标签 -b EXPR1
$ cvs 更新 -r EXPR1
$ cvs 提交

更新 命令将使 -r 实验1 选项粘在所有文件上。 请注意,您的
对文件的更改永远不会被删除 更新 命令。 的 承诺
自动提交到正确的分支,因为 -r 很粘。 你也可以这样做
喜欢这个:

[[存在被黑来源]]
$ cvs 标签 -b EXPR1
$ cvs 提交 -r EXPR1

但是,只有那些被你更改过的文件才会有 -r 实验1 粘旗。
如果你破解,并在没有指定的情况下提交 -r 实验1 标志,某些文件可能
不小心落在了主行李箱上。

与您合作进行实验性更改,其他人只需这样做

$ cvs checkout -r EXPR1whatever_module

差异


展示 差异 之间 修订
· 概要:diff [-lR] [-k kflag] [format_options] [(-r rev1[:date1] | -D date1) [-r
rev2[:date2] | -D date2]] [文件...]

· 需要:工作目录、存储库。

· 变化:无。

差异 命令用于比较不同版本的文件。 默认操作是
将您的工作文件与其所基于的修订进行比较,并报告任何
发现的差异。

如果给出了任何文件名,则只比较那些文件。 如果有任何目录
给定,将比较它们下的所有文件。

diff 的退出状态与其他不同 CVS 命令; 详情见节点
CVS 手册中的“退出状态”。

差异 选项


这些标准选项由 差异 (请参阅 CVS 手册中的节点“通用选项”,
对它们的完整描述):

-D 日期

不迟于使用最新版本 日期。 看 -r 关于这如何影响
比较。

-k 标志

根据处理关键字 标志. 请参阅 CVS 手册中的节点“关键字替换”。

-l

当地的; 仅在当前工作目录中运行。

-R

递归检查目录。 该选项默认开启。

-r 行李牌[:日期]

与指定的修订版进行比较 行李牌 或者,当 日期 被指定并且 行李牌 是一个分支
标签,来自分支的版本 行李牌 因为它存在于 日期. 零、一或二 -r 选项
可以存在。 没有 -r 选项,工作文件将与修订版进行比较
它是基于。 与一个 -r,该修订将与您当前的工作进行比较
文件。 与两个 -r 将比较这两个修订版的选项(以及您的工作文件
不会以任何方式影响结果)。

一个或两个 -r 选项可以替换为 -D 日期 选项,如上所述。

以下选项指定输出的格式。 它们具有相同的含义
在 GNU 差异中。 大多数选项有两个等效名称,其中一个是单个字母
之前 -, 另一个是前面有一个长名字 --.

-线

展示 线 (整数)行上下文。 此选项不指定输出格式
通过它自己; 它没有效果,除非它与 -c or -u. 这个选项是
过时的。 为了正确操作, 补丁 通常需要至少两行上下文。

-a

将所有文件视为文本并逐行比较它们,即使它们似乎不是
文本。

-b

忽略尾随空格并考虑一个或多个空格的所有其他序列
字符是等价的。

-B

忽略仅插入或删除空行的更改。

--二进制

以二进制方式读写数据。

--简短

仅报告文件是否不同,而不是差异的详细信息。

-c

使用上下文输出格式。

-C 线

- 语境[=线]

使用上下文输出格式,显示 线 (一个整数)上下文行,或者三个如果
线 没有给出。 为了正确操作, 补丁 通常需要至少两行
上下文。

--更改组格式=格式

使用 格式 输出包含来自两个文件的不同行的行组
if-then-else 格式。 请参阅 CVS 手册中的节点“行组格式”。

-d

更改算法以可能找到更小的更改集。 这使得 差异 比较慢
(有时慢得多)。

-e

--编辑

使输出有效 ed 脚本。

--展开标签

将制表符扩展到输出中的空格,以保持输入中制表符的对齐
文件。

-f

使输出看起来有点像 ed 脚本,但它们的顺序发生了变化
出现在文件中。

-F 正则表达式

在上下文和统一格式中,对于每一大块差异,显示最后的一些
匹配的前一行 正则表达式.

--转发

使输出看起来有点像 ed 脚本,但它们的顺序发生了变化
出现在文件中。

-H

使用启发式方法来加速处理具有许多分散的小文件的大文件
的变化。

--地平线=线

不要丢弃最后 线 公共前缀的行和第一个 线 的线
共同的后缀。

-i

忽略大小写的变化; 考虑大写和小写字母等效。

-I 正则表达式

忽略仅插入或删除匹配行的更改 正则表达式.

--ifdef=姓名

使用合并的 if-then-else 输出 姓名.

--忽略所有空间

比较行时忽略空白。

--忽略空白行

忽略仅插入或删除空行的更改。

--忽略大小写

忽略大小写的变化; 考虑大小写相同。

--忽略匹配行=正则表达式

忽略仅插入或删除匹配行的更改 正则表达式.

--忽略空间变化

忽略尾随空格并考虑一个或多个空格的所有其他序列
字符是等价的。

--初始选项卡

以正常或上下文格式在行文本前输出制表符而不是空格。
这会导致行中选项卡的对齐看起来正常。

-L 标签

使用 标签 而不是上下文格式和统一格式标题中的文件名。

--标签=标签

使用 标签 而不是上下文格式和统一格式标题中的文件名。

--左列

仅以并排格式打印两条公共行的左列。

--行格式=格式

使用 格式 以 if-then-else 格式输出所有输入行。 请参阅节点“行格式”
CVS 手册。

--最小

更改算法以可能找到更小的更改集。 这使得 差异 比较慢
(有时慢得多)。

-n

输出 RCS 格式的差异; 喜欢 -f 除了每个命令指定行数
影响。

-N

- 新文件

在目录比较中,如果只在一个目录中找到一个文件,则将其视为存在
但在另一个目录中为空。

--新组格式=格式

使用 格式 输出一组取自 if-then-else 中第二个文件的行
格式。 请参阅 CVS 手册中的节点“行组格式”。

--新行格式=格式

使用 格式 以 if-then-else 格式输出仅取自第二个文件的行。 看
CVS 手册中的节点“行格式”。

--旧组格式=格式

使用 格式 输出一组取自 if-then-else 中第一个文件的行
格式。 请参阅 CVS 手册中的节点“行组格式”。

--旧行格式=格式

使用 格式 以 if-then-else 格式输出仅取自第一个文件的行。 看
CVS 手册中的节点“行格式”。

-p

显示每个更改在哪个 C 函数中。

--rcs

输出 RCS 格式的差异; 喜欢 -f 除了每个命令指定行数
影响。

--报告相同文件

-s

当两个文件相同时报告。

--show-c-函数

显示每个更改在哪个 C 函数中。

--显示功能线=正则表达式

在上下文和统一格式中,对于每一大块差异,显示最后的一些
匹配的前一行 正则表达式.

--并排

使用并排输出格式。

--speed-大文件

使用启发式方法来加速处理具有许多分散的小文件的大文件
的变化。

--抑制公共线

不要以并排格式打印公共行。

-t

将制表符扩展到输出中的空格,以保持输入中制表符的对齐
文件。

-T

以正常或上下文格式在行文本前输出制表符而不是空格。
这会导致行中选项卡的对齐看起来正常。

- 文本

将所有文件视为文本并逐行比较它们,即使它们看起来不是
文本。

-u

使用统一的输出格式。

--未更改的组格式=格式

使用 格式 在 if-then-else 中输出从两个文件中提取的一组公共行
格式。 请参阅 CVS 手册中的节点“行组格式”。

--未更改的行格式=格式

使用 格式 以 if-then-else 格式输出两个文件共有的一行。 见节点'线
CVS 手册中的格式”。

-U 线

- 统一[=线]

使用统一的输出格式,显示 线 (一个整数)上下文行,或者三个如果
线 没有给出。 为了正确操作, 补丁 通常需要至少两行
上下文。

-w

比较行时忽略空白。

-W

--宽度=

使用输出宽度 并排格式。

-y

使用并排输出格式。

Line 格式


线组格式让您指定适用于许多应用程序的格式,这些应用程序允许
if-then-else 输入,包括编程语言和文本格式语言。 一条线
组格式指定一组连续的相似行的输出格式。

例如,下面的命令比较 TeX 文件 我的档案 与原始版本
从存储库,并输出一个合并的文件,其中旧区域被包围
\开始{em}-\结束{em} 线,新区域被包围 \开始{bf}-\结束{bf} 线。

cvs差异\

--old-group-format='\begin{em}
%<\end{em}
' \

--new-group-format='\begin{bf}
%>\end{bf}
' \

我的档案

下面的命令和上面的例子是等价的,但是稍微冗长了一点,
因为它说明了默认的行组格式。

cvs差异\

--old-group-format='\begin{em}
%<\end{em}
' \

--new-group-format='\begin{bf}
%>\end{bf}
' \

--unchanged-group-format='%='\

--changed-group-format='\begin{em}
%<\end{em}
\开始{bf}
%>\end{bf}
' \

我的档案

这是一个更高级的示例,它输出一个带有包含行的标题的差异列表
“简单英语”风格的数字。

cvs差异\

--unchanged-group-format='' \

--old-group-format='-------- %dn line%(n=1?:s) 在 %df 处删除:
%<' \

--new-group-format='-------- %dN line%(N=1?:s) 添加在 %de 之后:
%>' \

--changed-group-format='-------- %dn line%(n=1?:s) 在 %df 处更改:
%<-------- 到:
%>' \

我的档案

要指定线路组格式,请使用下面列出的选项之一。 你可以指定
到四种线组格式,每种线组一种。 你应该引用 格式,
因为它通常包含 shell 元字符。

--旧组格式=格式

这些行组是仅包含第一个文件中的行的块。 默认旧
如果指定,则组格式与更改的组格式相同; 否则就是
按原样输出行组的格式。

--新组格式=格式

这些行组是仅包含来自第二个文件的行的块。 默认新
如果指定,组格式与更改的组格式相同; 否则它是一个
按原样输出行组的格式。

--更改组格式=格式

这些行组是包含来自两个文件的行的大块。 默认更改组
format 是新旧组格式的串联。

--未更改的组格式=格式

这些行组包含两个文件共有的行。 默认不变组
格式是按原样输出行组的格式。

在行组格式中,普通字符代表自己; 转换
规格开始于 % 并具有以下形式之一。

%<

代表第一个文件中的行,包括尾随的换行符。 每行是
根据旧的行格式进行格式化(请参阅 CVS 手册中的节点“行格式”)。

%>

代表第二个文件中的行,包括尾随的换行符。 每行是
根据新的行格式进行格式化。

%=

代表两个文件共有的行,包括尾随的换行符。 每行是
根据未更改的行格式进行格式化。

%%

代表 %.

%C'C'

哪里 C 是单个字符,代表 C. C 不能是反斜杠或撇号。
例如, %C':' 代表冒号,即使在 if-then-else 的 then 部分内
格式,通常以冒号结尾。

%C'\O'

哪里 O 是1、2或3个八进制数字的字符串,代表八进制代码的字符
O。 例如, %c'\0' 代表空字符。

Fn

哪里 F 是一个 的printf 转换规范和 n 是以下字母之一,
代表 n的值格式化为 F.

e

旧文件中组之前的行的行号。

f

旧文件组中第一行的行号; 等于 e + 1。

l

旧文件中组中最后一行的行号。

m

旧文件中 group 之后的行的行号; 等于 l + 1。

n

旧文件组中的行数; 等于 l - f + 1。

E, F, L, M, N

同样,对于新文件中的行。

的printf 转换规范可以是 %d, %o, %x%X, 指定十进制,
分别为八进制、小写十六进制或大写十六进制输出。 后
% 以下选项可以依次出现: a - 指定左对齐;
指定最小字段宽度的整数; 和一个句号后跟一个可选的
指定最小位数的整数。 例如, %5dN 打印数字
在宽度为 5 个字符的字段中的组中的新行,使用 的printf 格式
“%5d”.

(A=B?T:E)

If A 等于 B 然后 T 其他 E. AB 每个都是十进制常数或单个
信如上解释。 此格式规范等效于 T if A的值等于
B的; 否则它相当于 E.

例如, %(N=0?否:%dN) 行%(N=1?:s) 相当于 没有 线 if N (的数量
新文件中组中的行)为 0,以 1 线 if N 是 1,并且到 %dN 线
除此以外。

Line 格式


行格式控制如何将输入文件中的每一行作为行的一部分输出
以 if-then-else 格式分组。

例如,以下命令将带有一列更改指示符的文本输出到
文本的左侧。 输出的第一列是 - 对于已删除的行, | 对于添加的行,
和一个用于不变行的空间。 格式包含换行符,其中换行符
需要输出。

cvs差异\

--old-line-format='-%l
' \

--new-line-format='|%l
' \

--unchanged-line-format='%l
' \

我的档案

要指定行格式,请使用以下选项之一。 你应该引用 格式,
因为它通常包含 shell 元字符。

--旧行格式=格式

仅从第一个文件格式化行。

--新行格式=格式

仅从第二个文件格式化行。

--未更改的行格式=格式

格式化两个文件共有的行。

--行格式=格式

格式化所有行; 实际上,它同时设置了上述所有三个选项。

在行格式中,普通字符代表自己; 转换规格
从...开始 % 并具有以下形式之一。

%l

代表该行的内容,不计算其尾随换行符(如果有)。 这
format 忽略该行是否不完整。

%L

代表该行的内容,包括其尾随换行符(如果有)。 如果一条线
是不完整的,这种格式保留了它的不完整。

%%

代表 %.

%C'C'

哪里 C 是单个字符,代表 C. C 不能是反斜杠或撇号。
例如, %C':' 代表冒号。

%C'\O'

哪里 O 是1、2或3个八进制数字的字符串,代表八进制代码的字符
O。 例如, %c'\0' 代表空字符。

Fn

哪里 F 是一个 的printf 转换规范,代表行号格式为
F。 例如, %.5dn 使用打印行号 的printf 格式 “%.5d”. 查看节点
CVS 手册中的“行组格式”,了解有关 printf 转换规范的更多信息。

默认的行格式是 %l 后跟一个换行符。

如果输入包含制表符并且它们在输出上对齐很重要,
你应该确保 %l or %L 行格式中紧跟在制表位之后(例如通过
%l or %L 带有制表符),或者您应该使用 -t or --展开标签
选项。

总之,线和线组格式允许您指定许多不同的格式。
例如,下面的命令使用类似的格式 差异的正常格式。 你
可以定制这个命令来更好地控制 差异的输出。

cvs差异\

--old-line-format='< %l
' \

--new-line-format='> %l
' \

--old-group-format='%df%(f=l?:,%dl)d%dE
%<' \

--new-group-format='%dea%dF%(F=L?:,%dL)
%>' \

--changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)
%<—
%>' \

--unchanged-group-format='' \

我的档案

差异 例子


以下行产生一个 Unidiff (-u 标志)在修订版 1.14 和 1.19 之间
后端.c。 因为 -kk 标记没有关键字被替换,因此差异仅
依赖关键字替换被忽略。

$ cvs diff -kk -u -r 1.14 -r 1.19 后端.c

假设实验分支 EXPR1 基于一组标记为 RELEASE_1_0 的文件。 到
查看该分支上发生了什么,可以使用以下内容:

$ cvs diff -r RELEASE_1_0 -r EXPR1

像这样的命令可用于在两个版本之间生成上下文差异:

$ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

如果您正在维护 ChangeLogs,请在提交之前执行如下命令
您的更改可能会帮助您编写 ChangeLog 条目。 具有的所有本地修改
尚未提交将被打印。

$ cvs diff -u | 较少的

出口


出口 来源 CVS, 类似 结帐
· 概要:export [-flNnR] (-r rev[:date] | -D date) [-k subst] [-d dir] 模块...

· 需要:存储库。

· 变化:当前目录。

这个命令是一个变种 结帐; 当您需要源的副本时使用它
没有模块 CVS 行政目录。 例如,您可能会使用 出口
为异地装运准备源。 此命令要求您指定日期或
标签(与 -D or -r),这样您就可以指望复制您发送给其他人的源
(因此它总是修剪空目录)。

一个经常想使用 -kv CVS 出口. 这会导致任何关键字
扩展,以便在其他网站上完成的导入不会丢失关键字修订
信息。 但请注意,它不处理包含二进制文件的导出
正确。 另请注意,使用后 -kv, 不能再使用 IDENT
命令(这是 RCS 套房——见 IDENT(1)) 查找关键字字符串。
如果你想能够使用 IDENT 你不能使用 -kv.

出口 选项


这些标准选项由 出口 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-D 日期

不迟于使用最新版本 日期.

-f

如果找不到匹配的修订版,则检索最新的修订版(而不是忽略
文件)。

-l

当地的; 仅在当前工作目录中运行。

-n

不要运行任何结帐程序。

-R

递归导出目录。 这是默认开启的。

-r 行李牌[:日期]

导出指定的修订版 行李牌 或者,当 日期 被指定并且 行李牌 是一个分支标签,
来自分支的版本 行李牌 因为它存在于 日期. 请参阅节点中的“通用选项”
CVS手册。

此外,这些选项(常见于 结帐出口) 也支持:

-d DIR

创建一个名为的目录 DIR 对于工作文件,而不是使用模块名称。
有关如何操作的完整详细信息,请参阅 CVS 手册中的节点“结帐选项” CVS 手柄
这个标志。

-k SUBST

设置关键字扩展模式(请参阅 CVS 手册中的节点“替换模式”)。

-N

仅与 -d DIR. 请参阅 CVS 手册中的节点“结帐选项”,了解
关于如何完成的详细信息 CVS 处理这个标志。

历史


展示 状态 of 用户
· 概要:历史 [-report] [-flags] [-options args] [files...]

· 要求:文件 $CVSROOT/CVSROOT/历史

· 变化:无。

CVS 可以保留一个历史日志,跟踪大多数人的每次使用 CVS 命令。 您可以使用
历史 以各种格式显示此信息。

要启用日志记录, 日志历史 配置选项必须设置为某个值而不是
空字符串和指定的历史文件 历史日志路径 选项必须是
可由所有可能运行该程序的用户写入 CVS 可执行文件(参见 CVS 中的节点“config”
手动的)。

启用 历史 命令,必须按上述方式启用日志记录,并且
历史搜索路径 config 选项(请参阅 CVS 手册中的节点“config”)必须设置为
指定一些由此创建的历史日志,这些文件必须是可读的
每个可能运行的用户 历史 命令。

通过创建存储库 CVS 初始化 命令将启用所有可能的日志记录
事件到单个历史日志文件($CVSROOT/CVSROOT/历史) 具有读写功能
所有用户的权限(请参阅 CVS 手册中的节点“创建存储库”)。

请注意: 历史 使用 -f, -l, -n, -p in 方法 冲突 正常 使用
CVS (见 节点 '常见的 选项' in CVS 手动的)。

历史 选项


几个选项(如上图所示 -报告) 控制生成什么样的报告:

-c

报告每次使用提交(即每次修改存储库)。

-e

一切(所有记录类型)。 相当于指定 -x 与所有记录类型。 的
课程, -e 还将包括在未来版本中添加的记录类型 CVS; 如果
您正在编写一个只能处理某些记录类型的脚本,您需要
指定 -x.

-m 模块

报告特定模块。 (你可以有意义地使用 -m 不止一次在
命令行。)

-o

报告检出的模块。 这是默认的报告类型。

-T

报告所有标签。

-x 类型

提取一组特定的记录类型 类型 来自 CVS 历史。 类型是
用单个字母表示,您可以组合指定。

某些命令具有单一记录类型:

F

释放

O

结帐

E

出口

T

标签

更新可能导致五种记录类型之一:

C

合并是必要的,但检测到冲突(需要手动合并)。

G

合并是必要的,它成功了。

U

从存储库复制了一个工作文件。

P

已修补工作文件以匹配存储库。

W

文件的工作副本在更新期间被删除(因为它从
存储库)。

提交产生的​​三种记录类型之一:

A

第一次添加文件。

M

修改了一个文件。

R

删除了一个文件。

选项显示为 -标志 无需选项即可约束或扩展报告
参数:

-a

显示所有用户的数据(默认是只显示执行用户的数据
历史).

-l

仅显示最后修改。

-w

仅显示从同一工作目录中完成的修改记录
历史 正在执行。

选项显示为 -选项 ARGS 基于参数约束报告:

-b STR

将数据显示回包含字符串的记录 STR 在模块名称中,
文件名,或存储库路径。

-D 日期

显示数据自 日期. 这与正常使用略有不同 -D 日期,这
选择早于的最新版本 日期.

-f 文件

显示特定文件的数据(您可以指定多个 -f 同一命令上的选项
线)。 这相当于在命令行上指定文件。

-n 模块

显示特定模块的数据(您可以指定多个 -n 相同的选项
命令行)。

-p 知识库

显示特定源存储库的数据(您可以指定多个 -p 关于的选项
相同的命令行)。

-r

显示引用自修订版或标记命名的修订版的记录 出现在
个人 RCS 文件。 每个 RCS 文件搜索修订或标记。

-t 行李牌

显示自标记以来的记录 行李牌 最后添加到历史文件中。 这不同于 -r
上面的标志,因为它只读取历史文件,而不是 RCS 文件,而且很多
更快。

-u 姓名

显示用户记录 姓名.

-z 时区

使用指定的时区而不是 UTC 显示所选记录中的时间。

进口


进口 来源 CVS, 运用 供应商 分支机构
· 概要:导入[-options] 仓库vendortag releasetag...

· 需要:Repository,源码分发目录。

· 变化:存储库。

使用 进口 合并来自外部源的整个源分布(例如,一个
源供应商)到您的源存储库目录中。 您可以将此命令用于
存储库的初始创建,以及对模块的批发更新
外源。 有关此问题的讨论,请参阅 CVS 手册中的节点“跟踪源”
主题。

知识库 参数给出目录名(或目录的路径)下 CVS
存储库的根目录; 如果该目录不存在,则导入会创建它。

当您使用 import 对源中已修改的源进行更新时
存储库(自先前导入以来),它会通知您在
两个发展分支; 利用 结帐 -j 调和差异,作为进口
指示你去做。

If CVS 决定一个文件应该被忽略(参见 CVS 手册中的节点“cvsignore”),它
不导入并打印 I 后跟文件名(参见节点“导入输出”
CVS 手册,以获取对输出的完整描述)。

如果文件 $CVSROOT/CVSROOT/cvwrappers 存在,任何名称匹配的文件
该文件中的规范将被视为包和适当的过滤
将在导入之前对文件/目录执行。 见节点“包装器”
CVS 手册。

外部源保存在一级分支中,默认为 1.1.1。 更新是
这个分支的叶子; 例如,来自第一个导入的源集合的文件
将是修订版 1.1.1.1,然后来自第一个导入更新的文件将是修订版
1.1.1.2,以此类推。

至少需要三个参数。 知识库 需要识别集合
的来源。 供应商标签 是整个分支的标签(例如,对于 1.1.1)。 你还必须
至少指定一个 发布标签 在创建的叶子上唯一标识文件
每次执行 进口。 该 发布标签 应该是新的,以前不存在
存储库文件,并唯一标识导入的版本,

需要注意的是 进口不能 更改调用它的目录。 特别是,
它不会将该目录设置为 CVS 工作目录; 如果你想和
源首先导入它们,然后将它们检出到不同的目录中(请参阅
CVS 手册中的节点“获取源代码”)。

进口 选项


此标准选项支持 进口 (请参阅 CVS 手册中的节点“通用选项”,
完整描述):

-m 的话

使用 的话 作为日志信息,而不是调用编辑器。

有以下额外的特殊选项。

-b

请参阅 CVS 手册中的节点“多个供应商分支”。

-k SUBST

指明所需的关键字扩展模式。 此设置将应用于所有文件
在导入过程中创建,但不导入以前存在于
存储库。 有关有效的列表,请参阅 CVS 手册中的节点“替换模式” -k
设置。

-I 姓名

指定导入期间应忽略的文件名。 您可以使用此选项
反复。 为避免完全忽略任何文件(即使是默认忽略的文件),请指定
'-我!'。

姓名 可以是相同类型的文件名模式,您可以在 .cvsignore
文件。 请参阅 CVS 手册中的节点“cvsignore”。

-W 规格

指定在导入期间应过滤的文件名。 您可以使用此选项
反复。

规格 可以是相同类型的文件名模式,您可以在
.cvwrappers 文件。 请参阅 CVS 手册中的节点“包装器”。

-X

修改使用的算法 CVS 导入新文件时,新文件不会
立即出现在主干上。

具体来说,这个标志导致 CVS 将新文件标记为在主文件上已删除
主干,除了通常采取的步骤外,还对每个文件采取以下步骤
导入时:在主干上创建一个新修订,表明新文件是
,重置新文件的默认分支,并将文件放置在 Attic 中(请参阅
CVS 手册中的节点“阁楼”)目录。

可以通过设置在存储库范围的基础上强制使用此选项
仅导入新文件至供应商分支 CVSROOT/config 中的选项(请参阅 CVS 中的节点“config”
手动的)。

进口 产量


进口 通过为每个文件打印一行,让您了解其进度
一个字符表示文件的状态:

U 文件

该文件已存在于存储库中且未在本地进行修改; 一个新的
已创建修订版(如有必要)。

N 文件

该文件是已添加到存储库中的新文件。

C 文件

该文件已存在于存储库中,但已在本地进行了修改; 你将会拥有
合并更改。

I 文件

该文件被忽略(请参阅 CVS 手册中的节点“cvsignore”)。

L 文件

该文件是一个符号链接; CVS 进口 忽略符号链接。 人们定期
建议应该改变这种行为,但如果对它的内容达成共识
应该改成,不明显。 (各种选项在 模块 文件可以是
用于在结帐、更新等时重新创建符号链接; 查看 CVS 中的节点“模块”
手动的。)

进口 例子


请参阅 CVS 手册中的节点“跟踪源”和 CVS 手册中的节点“来自文件”。

日志


打印 输出 日志 信息
· 概要:日志 [选项] [文件...]

· 需要:存储库、工作目录。

· 变化:无。

显示文件的日志信息。 日志 用于调用 RCS 效用 日志。 虽然
这在当前来源中不再正确,这段历史决定了
输出和选项,这与另一个不太一样 CVS 命令。

输出包括位置 RCS 文件, 修订版(最新修订版
在行李箱上),所有符号名称(标签)和其他一些东西。 对于每次修订,
修订号、日期、作者、添加/删除的行数、提交 ID
并打印日志消息。 所有日期都以本地时间显示在客户端。
这通常在 $TZ 环境变量,可以设置管理
形成一种 日志 显示日期。

请注意: 日志 使用 -R in a 方式 冲突 正常 使用 CVS (见 节点
'常见的 选项' in CVS 手动的)。

日志 选项


默认情况下, 日志 打印所有可用信息。 所有其他选项限制
输出。 请注意,修订选择选项 (-d, -r, -s-w) 没有效果,
除了可能导致在 Attic 目录中搜索文件之外,当用于
结合将输出限制为仅的选项 日志 标题字段(-b, -h,
-R-t) 除非 -S 选项也被指定。

-b

打印有关默认分支上修订的信息,通常是最高分支
在行李箱上。

-d 日期

打印有关具有签入日期/时间在由
以分号分隔的日期列表。 接受的日期格式是接受的日期格式
-D 许多其他选择 CVS 命令(请参阅 CVS 手册中的节点“通用选项”)。
日期可以组合成如下范围:

d1<d2

d2>d1

选择存放在两者之间的修订 d1d2.

<d

d>

选择所有有日期的修订 d 或更早版本。

d<

>d

选择所有有日期的修订 d 或更高版本。

d

选择日期为最新的单个修订版 d 或更早版本。

> or < 字符可以跟 = 表示包含范围而不是
一个独家的。

请注意,分隔符是分号 (;)。

-h

只打印名称 RCS 文件,工作目录中的文件名,头,
默认分支、访问列表、锁、符号名称和后缀。

-l

当地的; 仅在当前工作目录中运行。 (默认是递归运行)。

-N

不要打印此文件的标签列表。 当您的
网站使用了大量标签,因此与其“更多”地使用超过 3 页的标签信息,
日志信息完全没有标签。

-R

只打印名称 RCS 文件中。

-r修订

打印有关以逗号分隔的列表中给出的修订的信息 修订 of
修订和范围。 下表说明了可用的范围格式:

rev1:rev2

修订 rev1rev2 (必须在同一分支上)。

rev1::rev2

相同,但不包括 rev1.

:

::

从分支开始到并包括的修订 .

:

修订开始于 到包含的分支的末尾 .

::

修订开始后 到包含的分支的末尾 .



作为分支的参数意味着该分支上的所有修订。

分支 1:分支 2

分支 1::分支 2

分支范围表示该范围内分支上的所有修订。

.

最新修订在 .

一个光秃秃的 -r 没有修订意味着默认分支上的最新修订,通常
行李箱。 之间不能有空格 -r 选项及其参数。

-S

如果未选择修订,则隐藏标题。

-s 国家

打印有关状态属性与给定状态之一匹配的修订的信息
在逗号分隔的列表中 国家. 单个状态可以是任何文本字符串,但
CVS 通常只使用两种状态, 进出口. 请参阅 CVS 中的节点“管理选项”
手册了解更多信息。

-t

打印一样 -h,加上描述性文字。

-w登录

打印有关登录名出现在
以逗号分隔的列表 登录。 如果 登录 省略时,假定用户登录。 那里
之间不能有空格 -w 选项及其参数。

日志 打印与选项选择的修订的交集 -d, -s-w,
与所选修订的联合相交 -b-r.

日志 例子


日志 以当地时间显示日期,您可能希望在 Coordinated Universal 中看到它们
时间 (UTC) 或其他时区。 为此,您可以设置 $TZ 环境变量
在调用之前 CVS:

$ TZ=UTC cvs 日志 foo.c
$ TZ=EST cvs 日志 bar.c

(如果您使用的是 长山壕- 风格的外壳,比如 tcsh的,您需要在示例前加上前缀
以上与 ENV.)

ls & 哈哈


· ls [-e | -l] [-RP] [-r 标签[:date]] [-D 日期] [路径...]

· 要求:存储库 哈哈,存储库和工作目录 ls.

· 变化:无。

· 近义词: DIR & 名单 是...的同义词 lsr是 & 列表 是...的同义词 哈哈.

ls哈哈 命令用于列出存储库中的文件和目录。

默认情况下 ls 列出属于您的工作目录的文件和目录,
之后会发生什么 更新.

默认情况下 哈哈 在最上面列出trunk顶端的文件和目录
存储库的目录。

这两个命令都接受一个可选的文件名和目录名列表,相对于
工作目录 ls 和存储库的最顶层目录 哈哈。 也不
默认是递归的。

ls & 哈哈 选项


这些标准选项由 ls & 哈哈:

-d

显示无效修订(指定时带有标签)。

-e

以 CVS/条目格式显示。 这种格式旨在保持易于解析
自动化。

-l

显示所有详细信息。

-P

递归时不要列出空目录的内容。

-R

递归列出。

-r 行李牌[:日期]

显示指定的文件 行李牌 或者,当 日期 被指定并且 行李牌 是一个分支标签,
来自分支的版本 行李牌 因为它存在于 日期. 请参阅 CVS 中的节点“通用选项”
手册。

-D 日期

从日期显示文件。

哈哈 例子


$ 简历 rls
cvs rls:列表模块:`.'
根目录
第一目录

$ cvs rls CVSROOT
cvs rls:列表模块:`CVSROOT'
结账清单
提交信息
配置
包装器
登录信息
模块
通知
资源信息
标签信息
验证消息

差异


'修补' 格式 差异 之间 发布
· rdiff [-flags] [-V vn] (-r tag1[:date1] | -D date1) [-r tag2[:date2] | -D 日期 2]
模块...

· 需要:存储库。

· 变化:无。

· 同义词:补丁

建立拉里沃尔格式 补丁(1) 两个版本之间的文件,可以直接输入
补丁 程序使旧版本与新版本保持同步。 (这
是为数不多的 CVS 直接从存储库运行的命令,而不是
需要事先签出。)差异输出被发送到标准输出设备。

您可以指定(使用标准 -r-D 选项)一个或两个的任意组合
修订或日期。 如果仅指定了一个修订版或日期,则补丁文件反映
该修订或日期与当前主要修订之间的差异 RCS
文件中。

请注意,如果受影响的软件版本包含在多个目录中,则
可能需要指定 -p 选项 补丁 修补旧版本时的命令
来源,所以 补丁 能够找到位于其他目录中的文件。

差异 选项


这些标准选项由 差异 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-D 日期

不迟于使用最新版本 日期.

-f

如果找不到匹配的修订版,则检索最新的修订版(而不是忽略
文件)。

-k 标志

根据处理关键字 标志. 请参阅 CVS 手册中的节点“关键字替换”。

-l

当地的; 不要下降子目录。

-R

递归检查目录。 该选项默认开启。

-r 行李牌

使用指定的修订版 行李牌,或何时 日期 被指定并且 行李牌 是一个分支标签,
来自分支的版本 行李牌 因为它存在于 日期. 请参阅节点中的“通用选项”
CVS手册。

除了上述选项外,还有以下选项可用:

-c

使用上下文差异格式。 这是默认格式。

-p

显示每个更改在哪个 C 函数中。

-s

创建摘要更改报告而不是补丁。 摘要包括信息
关于在版本之间更改或添加的文件。 它被发送到标准
输出设备。 这对于找出例如哪些文件已更改很有用
在两个日期或修订之间。

-t

将前两个修订版的差异发送到标准输出设备。 这是最
用于查看文件的最后更改是什么。

-u

对上下文差异使用 unidiff 格式。 请记住,旧版本的 补丁
程序无法处理 unidiff 格式,因此如果您打算将此补丁发布到网上
你可能不应该使用 -u.

-V vn

根据当前的规则展开​​关键字 RCS 版本 vn (扩展格式
改变了 RCS 版本 5)。 请注意,此选项不再被接受。 CVS
总是以这样的方式扩展关键字 RCS 版本 5 可以。

差异 例子


假设您收到来自 [电子邮件保护] 要求从 1.2 版更新到 1.4 版
tc 编译器。 你手头没有这样的补丁,但是有 CVS 这很容易
用这样的命令修复:

$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
$$ Mail -s '你要求的补丁' [电子邮件保护]

假设您已经发布了 1.3 版,并创建了一个名为的分支 R_1_3修复 用于错误修复。
R_1_3_1 对应于前一段时间发布的 1.3.1 版。 现在,你想看
分支上进行了多少开发。 可以使用此命令:

$ cvs patch -s -r R_1_3_1 -r R_1_3fix 模块名称
cvs rdiff:区分模块名称
File ChangeLog,v 从修订版 1.52.2.5 更改为 1.52.2.6
文件 foo.c,v 从修订版 1.52.2.3 更改为 1.52.2.4
文件 bar.h,v 从修订版 1.29.2.1 更改为 1.2

释放


表明 a 模块 is 没有 不再 in 使用
· 释放 [-d] 目录...

· 要求:工作目录。

·变化:工作目录,历史日志。

此命令旨在安全地取消 CVS 结帐。 自 CVS
锁定文件,使用此命令并不是绝对必要的。 你总是可以简单地
如果您愿意,请删除您的工作目录; 但你可能会失去你可能拥有的改变
被遗忘,你不留痕迹 CVS 历史文件(参见节点“历史文件”
CVS 手册),您已放弃结帐。

使用 CVS 释放 以避免这些问题。 此命令检查没有未提交的
存在变化; 你是从正上方执行它 CVS 加工
目录; 并且为您的文件记录的存储库与存储库相同
在模块数据库中定义。

如果所有这些条件都成立, CVS 释放 留下执行记录
(证明您有意放弃结帐)在 CVS 历史记录。

释放 选项


释放 命令支持一个命令选项:

-d

如果发布成功,请删除文件的工作副本。 如果没有给出这个标志
您的文件将保留在您的工作目录中。

警告: 释放 命令 删除 所有 目录 递归地 本篇 具有
非常 严重 副作用 任何 目录 已可以选用 创建 选择您
检查过了 资料来源 不能 添加 知识库 (使用 命令; 看到 节点
'添加 文件' in CVS 手动的) be 默默 删除——甚至 if it is 非空!

释放 产量


之前 释放 释放您的来源,它将为任何文件打印一条单行消息
不是最新的。

U 文件

P 文件

存储库中存在此文件的更新版本,并且您尚未修改
您的本地文件副本(UP 意思是一样的)。

A 文件

该文件已添加到您的源私有副本中,但尚未添加
提交到存储库。 如果您删除源的副本,此文件将是
丢失。

R 文件

该文件已从您的源的私人副本中删除,但尚未
从存储库中删除,因为您尚未提交删除。 查看节点
CVS 手册中的“提交”。

M 文件

该文件在您的工作目录中被修改。 也可能有更新的版本
存储库内。

? 文件

文件 位于您的工作目录中,但不对应于源中的任何内容
存储库,并且不在文件列表中 CVS 忽略(见描述
-I 选项,并参见 CVS 手册中的节点“cvsignore”)。 如果你删除你的工作
源,此文件将丢失。

释放 例子


释放 tc 目录,并删除文件的本地工作副本。

$ cd .. # 你必须站在正上方

# 发布时的来源 CVS 释放.
$ cvs 发布 -d tc
您在此存储库中有 [0] 个更改过的文件。
您确定要释放(并删除)目录 `tc': y
$

服务器 & 服务器


法案 as a 服务器 a 客户 on stdin / stdout
· pserver [-c 路径]

服务器 [-c 路径]

· 需要:存储库、标准输入/标准输出上的客户端对话

· 更改:存储库或间接的客户端工作目录。

CVS 服务器服务器 命令用于提供对远程存储库的访问
客户并期待在标准输入和标准输出上进行客户对话。 通常这些命​​令
是从 内网 或者通过 SSH (请参阅 CVS 手册中的节点“远程存储库”)。

服务器 期望客户端已经以某种方式进行了身份验证,通常是通过
SSH服务器 尝试验证客户端本身。

只有一个选项可用 服务器服务器 命令:

-c

加载配置 而不是默认位置 $CVSROOT/CVSROOT/配置
(请参阅 CVS 手册中的节点“config”)。 必须 /etc/cvs.conf 或以
/etc/cvs/. 开始支持此选项 CVS 1.12.13发布。

吮吸


下载 RCS ,v 文件
· 吸模块/路径

· 要求:存储库

找到文件 module/path,v 或 module/pa/Attic/th,v 并将其原始下载为 RCS
逗号-v 文件。

输出由逗号-v 文件的真实路径名组成,相对于 CVS
存储库,后跟一个换行符和紧随其后的二进制文件内容。

更新


带来 工作 in 同步 知识库
·更新[-ACdflPpR] [-I name] [-j rev [-j rev]] [-k kflag] [-r tag[:date] | -D 日期] [-W
规格] 文件...

· 需要:存储库、工作目录。

·变化:工作目录。

在您运行 checkout 以从公共源创建您的私有源副本后
存储库,其他开发人员将继续更改中央源。 不时到
时间,当您在开发过程中方便时,您可以使用 更新 命令
从您的工作目录中协调您的工作与应用于的任何修订
自上次签出或更新以来的源存储库。 没有 -C 选项, 更新
还将合并文件的本地副本与其基本修订版之间的任何差异
进入指定的任何目标修订版 -r, -D-A.

更新 选项


这些标准选项可用于 更新 (请参阅 CVS 中的节点“通用选项”
手册,对它们的完整描述):

-D 日期

不迟于使用最新版本 日期. 此选项是粘性的,并暗示 -P.
有关粘性标签/日期的更多信息,请参阅 CVS 手册中的节点“粘性标签”。

-f

仅与 -D or -r 旗帜。 如果找不到匹配的修订版,则检索
最近的修订版(而不是忽略文件)。

-k 标志

根据处理关键字 标志. 请参阅 CVS 手册中的节点“关键字替换”。
这个选项是粘性的; 此工作目录中此文件的未来更新将使用
相同 标志。 该 状态 可以查看命令以查看粘性选项。 查看节点
CVS 手册中的“调用 CVS”,了解更多关于 状态 命令。

-l

当地的; 仅在当前工作目录中运行。 请参阅 CVS 中的节点“递归行为”
手册。

-P

修剪空目录。 请参阅 CVS 手册中的节点“移动目录”。

-p

管道文件到标准输出。

-R

递归更新目录(默认)。 请参阅 CVS 中的节点“递归行为”
手册。

-r 行李牌[:日期]

检索指定的修订 行李牌 或者,当 日期 被指定并且 行李牌 是一个分支
标签,来自分支的版本 行李牌 因为它存在于 日期. 此选项是粘性的,并且
暗示 -P. 有关粘性的更多信息,请参阅 CVS 手册中的节点“粘性标签”
标签/日期。 另请参阅 CVS 手册中的节点“通用选项”。

这些特殊选项也可用于 更新.

-A

重置任何粘性标签、日期或 -k 选项。 请参阅 CVS 手册中的节点“粘性标签”,
有关粘性标签/日期的更多信息。

-C

使用存储库中的干净副本覆盖本地修改的文件(修改后的文件)
文件保存在 .#文件.调整,但是)。

-d

创建存储库中存在的任何目录,如果它们从工作中丢失
目录。 一般, 更新 仅作用于已经存在的目录和文件
在您的工作目录中注册。

这对于更新在存储库中创建的目录很有用
初次结帐; 但它有一个不幸的副作用。 如果你故意避开
创建工作目录时存储库中的某些目录(或者
通过使用模块名称或通过明确列出您的文件和目录
在命令行上需要),然后更新 -d 将创建这些目录,其中
可能不是你想要的。

-I 姓名

忽略名称匹配的文件 姓名 (在您的工作目录中)更新期间。 你
可以指定 -I 在命令行上多次指定要忽略的几个文件。
使用 -I ! 以避免忽略任何文件。 请参阅 CVS 手册中的节点“cvsignore”,
其他制作方法 CVS 忽略一些文件。

-W规格

指定更新期间应过滤的文件名。 您可以使用此选项
反复。

规格 可以是相同类型的文件名模式,您可以在
.cvwrappers 文件。 请参阅 CVS 手册中的节点“包装器”。

-j调整

有两个 -j 选项,合并来自第一个指定的修订的更改 -j 选项
到第二个指定的修订版 j 选项,进入工作目录。

与一个 -j 选项,合并从祖先修订到指定修订的更改
-j 选项,进入工作目录。 祖先修订是常见的
工作目录所基于的修订的祖先,以及修订
在指定 -j 选项。

请注意,使用单个 -j 标签名称 选项而不是 -j 分店名称 合并更改
从分支通常不会删除在分支上删除的文件。 查看节点
CVS 手册中的“合并添加和删除”,了解更多信息。

另外,每个 -j 选项可以包含一个可选的日期规范,当使用时
使用分支,可以将所选修订版限制为特定日期内的一个修订版。 一个可选的
日期是通过在标签中添加一个冒号 (:) 来指定的: -j符号标签:日期说明符.

请参阅 CVS 手册中的节点“分支和合并”。

更新 产量


更新结帐 通过为每个文件打印一行来让您了解他们的进度,
前面有一个字符表示文件的状态:

U 文件

该文件已更新到与存储库相关的内容。 这是为任何
存在于存储库但不在您的工作目录中的文件,以及
您没有更改,但不是存储库中可用的最新版本。

P 文件

喜欢 U,但 CVS 服务器发送补丁而不是整个文件。 这实现了
同样的事情 U 使用更少的带宽。

A 文件

该文件已添加到您的源的私人副本中,并将添加到
运行时的源存储库 承诺 在文件上。 谨此提醒您,
文件需要提交。

R 文件

该文件已从您的源私有副本中删除,并将被删除
运行时从源存储库 承诺 在文件上。 这是给你的提醒
文件需要提交。

M 文件

该文件在您的工作目录中被修改。

M 可以指示您正在处理的文件的两种状态之一:要么没有
对存储库中同一文件的修改,以便您的文件保持上次
看到了; 或者在存储库和您的副本中进行了修改,但是它们
在您的工作目录中成功合并,没有冲突。

CVS 如果合并您的工作,将打印一些消息,以及您工作的备份副本
文件(在你运行之前它看起来 更新) 将被制作。 该文件的确切名称是
打印时 更新 运行。

C 文件

尝试将您的更改合并到 文件 随着变化从
源存储库。 文件 (您工作目录中的副本)现在是
试图合并两个修订版; 您的文件的未修改副本也在您的
工作目录,名称为 .#文件.调整 哪里 调整 是修订版
您修改后的文件开始于。 按照节点“冲突”中的描述解决冲突
CVS 手册中的示例”。 (请注意,某些系统会自动清除
首先 .# 如果他们几天没有被访问。 如果您打算保留一个
原始文件的副本,重命名它是一个很好的主意。)在 虚拟机, 文件
名字以 __ 而非 .#.

? 文件

文件 位于您的工作目录中,但不对应于源中的任何内容
存储库,并且不在文件列表中 CVS 忽略(见描述
-I 选项,并参见 CVS 手册中的节点“cvsignore”)。

作者


迪克·格鲁恩
原作者 CVS shell 脚本版本发布到 comp.sources.unix ,在
6 年 1986 月发行的第 XNUMX 卷。 CVS 冲突
分辨率算法。

布赖恩·柏林纳
编码器和设计器 CVS 程序本身于 1989 年 XNUMX 月,基于原来的
迪克完成的工作。

杰夫·波尔克
帮助布赖恩设计 CVS 模块和供应商分支支持和作者
(1) shell 脚本(的祖先 CVS 进口).

Larry Jones、Derek R. Price 和 Mark D. Baushke
有帮助维持 CVS 多年。

还有许多其他的太多了,无法在此提及。

使用 onworks.net 服务在线使用 cvs


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad