有一些 command_options
使用得非常频繁,需要采用别名或其他方式来确保指定这些选项。一种情况(事实上,正是此原因导致使用 .cvsrc)是人们发现默认的 `diff' 输出难以阅读,相对而言,上下文 diffs 或 unidiffs 都比它容易理解。
~/.cvsrc 文件是一种将默认选项加给 cvs_commands
的方法,用来取代别名或其他 shell 脚本的方法。
~/.cvsrc 的格式很简单。当 cvs_command
被执行时,该文件按相同的命令名搜索每一行。若匹配,该行剩余部分将被分隔(空格)成各选项,添加到命令行的所有参数之前。
如果一个命令有两个名称(比如,checkout
和 co
),其正式名称,而不是命令行中使用的,将被用来进行比较。于是如果用户的一个 ~/.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