上一个: Variables, 上层: Administrative files
通常,config 文件处于 $CVSROOT/CVSROOT/config,但在
pserver 和 server 命令行里面可以覆盖 (参阅 server & pserver)。
config 管理文件包含影响 cvs 行为的各种设定。其语法与其他的管理文件 略有不同。
行前面的空白将被忽略,因为语法要求严格,其他的空格和制表符都会拒绝。
空行,只包含空白的行,以及 `#' 开头的行(不计前面的空白)将忽略。
其他的行以可选的空格,关键字,`=' 和值组成。要留意语法要求很严格。 额外的空格与制表符,非前置的空格,都不允许出现在这些行里。
从 CVS 1.12.13 起,`[CVSROOT]' 形式的行标记配置文件后续部分只用于特定的仓库。 多个 `[CVSROOT]' 行不会干涉 `KEYWORD=VALUE' 对, 造成处理失败,处理列表中任何 root 的后续关键字。最后,在 `[CVSROOT]' 行 之前的关键字和值是默认值,可适用于任何仓库。例如,下面的文件:
# Defaults
LogHistory=TMAR
[/cvsroots/team1]
LockDir=/locks/team1
[/cvsroots/team2]
LockDir=/locks/team2
[/cvsroots/team3]
LockDir=/locks/team3
[/cvsroots/team4]
LockDir=/locks/team4
[/cvsroots/team3]
[/cvsroots/team4]
# Override logged commands for teams 3 & 4.
LogHistory=all
这个示例文件为每个项目建立各自 lock 的目录,以及为 team 3 和 team 4 设置的日志命令。 这种语法对于多个仓库共享同一个配置文件,如 /etc/cvs.conf,很有帮助。
HistorySearchPath=pattern如果没有这个选项的值,默认使用 $CVSROOT/CVSROOT/history。
HistoryLogPath=pathstrftime 函数和 UNIX 的日期命令,
以及 $CVSROOT 字串将被替换。例如,下面行中:
HistoryLogPath=$CVSROOT/CVSROOT/history/%Y-%m-%d
该行将使 cvs 创建它的历史文件到配置文件目 (CVSROOT) 的子目录 (history), 文件名为 ISO8601 格式的当前日期(例如,2005 年 5 月 11 日,cvs 创建的日志文件为 CVSROOT/history/2005-05-11)。 参阅 history, 和 history file 了解更多信息。
如果没有这个选项的值,默认使用 $CVSROOT/CVSROOT/history。 $CVSROOT/CVSROOT/history.
ImportNewFilesToVendorBranchOnly=valuecvs import 是否总是执行如命令行上使用 `-X' 标识的行为。
value 可以是 `yes' 或 `no'。如果设为 `yes',所有的用户执行
cvs import 的结果,就像 `-X' 已经设置。默认值为 `no'。
KeywordExpand=valueLocalKeyword=valueLockDir=directory在启用 LockDir 选项之前,确保你查找并删除了 cvs 1.9 或早期版本。这些版本 不支持 LockDir,并不会给出不支持的错误信息。结果将会是一些 cvs 用户将锁 放在这个地方,其他用户放在另外的地方,仓库自然就被破坏了。cvs 1.10 仍不支持 LockDir,但是假如运行的仓库启用了 LockDir,它会打印一个警告。
LogHistory=valueMaxCommentLeaderLength=length$Log$
关键字(参阅 Keyword substitution),在一行里大于指定 length 字节时被忽略
(或者退到 RCS 档案文件里设置的 comment leader - 参见下面的
UseArchiveCommentLeader)。默认在检出时只处理 20 字节,是防止用户疏忽,
没有将二进制文件标明时,二进制文件里面含有 $Log$
关键字的情况。
MinCompressionLevel=valueMaxCompressionLevel=value例外的情况是,当等级 0 (不压缩) 不可用,客户端请求的任何压缩将失败。当客户端明显地不使用 压缩时,cvs 服务器将退出并提示错误信息。这种情况在客户端为 1.12.13 及以后的版本 中不会出现,因为这些版本的客户端将允许服务器提示必须使用压缩等级。
PrimaryServer=CVSROOT当前只支持 `:ext:' 方式(实际上,`:fork:' 也支持,但只用于测试 - 如果你 发现通过 `:fork:' 方式有其他的用途,请发一个提示到 bug-cvs@gnu.org)。 参阅 Write proxies 了解有关配置和使用写代理的情况。
RCSBIN=bindirRereadLogAfterVerify=value注意: `stat' 模式可能会造成 CVS 在提交每个目录时暂停数秒。这也可能 不消耗多少 IO 和 CPU,但还是不建议在大型的仓库里面使用
参阅 verifymsg, 以了解更多关于如何使用 verifymsg 的信息。
SystemAuth=valueTmpDir=pathTopLevelAdmin=value如果你要在工作目录的顶级,而不是检出的子目录执行许多命令,该选项就很有用。
在那里创建 CVS 目录意味着你不用为每个命令指定 CVSROOT。它还为
CVS/Template 文件提供了一个场所 (参阅 Working directory storage)。
UseArchiveCommentLeader=valuetrue,如果前面文本里有 $Log$ 关键字,超过
MaxCommentLeaderLength 设置的字节,如果有,会被替代。如果在档案文件里面
没有设置 comment leader,或者 value 设为 `false',关键字将不会被替换
(参阅 Keyword list)。为了强制使用 RCS 档案文件里面的 comment leader(并且档案
文件里面没有设置 comment leader,文件里面的 $Log$
扩展会跳过),设置 value 且 MaxCommentLeaderLength 设为 0。
UseNewInfoFmtStrings=value注意,新的仓库(使用 cvs init 命令创建)将此值设为 `yes',
但默认值是 `no'。
UserAdminOptions=valuecvs admin 命令(参阅 admin))选项可以被不属于 cvsadmin
组里面的用户使用。value 字符串是允许的选项列表。不属于 cvsadmin
组的用户,如果执行 cvs admin 的选项没有列在其中,将获得选项受限的错误消息。
如果服务器上没有 cvsadmin 组存在,cvs 将忽略 UserAdminOptions
关键字 (参阅 admin)。
没有指定时,UserAdminOptions 默认为 `k'。也就是说,默认只允许
cvsadmin 组以外的用户通过 cvs admin admin' 命令修改文件的关键字
扩展模式。
例如,让 cvsadmin 组以外的用户可以使用 cvs admin 命令修改默认的
关键字替换模式,锁住修订版,开锁修订版和替换日志消息,
设定为 `UserAdminOptions=klum'。