下一个: , 上一个: Exit status, 上层: CVS commands


A.3 默认选项与 ~/.cvsrc 文件

有一些 command_options 使用得非常频繁,需要采用别名或其他方式来确保指定 这些选项。一种情况(事实上,正是此原因导致使用 .cvsrc)是人们发现默认的 `diff' 输出难以阅读,相对而言,上下文 diffs 或 unidiffs 都比它容易理解。

~/.cvsrc 文件是一种将默认选项加给 cvs_commands 的方法,用来取代别名 或其他 shell 脚本的方法。

~/.cvsrc 的格式很简单。当 cvs_command 被执行时,该文件按相同的 命令名搜索每一行。若匹配,该行剩余部分将被分隔(空格)成各选项,添加到命令行的所有 参数之前

如果一个命令有两个名称(比如,checkoutco),其正式名称,而不是 命令行中使用的,将被用来进行比较。于是如果用户的一个 ~/.cvsrc 文件内容为:

     log -N
     diff -uN
     rdiff -u
     update -Pd
     checkout -P
     release -d

命令 `cvs checkout foo' 将有 `-P' 选项被添加到参数中,对于 `cvs co foo' 也如此。

上面的例子,`cvs diff foobar' 命令的输出为 unidiff 格式。`cvs diff -c foobar' 提供上下文 diffs。如要获得"旧的" diff 的输出格式,会有些麻烦,因为 diff 并没有一个选项适用于"旧的"格式,所以你需要用 `cvs -f diff foobar'。

你还可以使用 cvs 作为命令名来指定全局选项 (参阅 Global options)。 例如,在 .cvsrc 中添加这样一行

     cvs -z6

将迫使 cvs 采用压缩级别 6。