一些command_options使用得如此频繁,以致要采用别名或其他方式来确保指定这些选项。一种情况(事实上,正是此原因导致使用.cvsrc)是人们发现默认的diff输出难以阅读,相对而言contex 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将提供context diffs。要获得“旧” diff 的输出格式稍有些复杂,因为diff并无一个选项用于“旧”格式,所以你需要用到cvs -f diff foobar。
你还可以使用cvs作为命令名来指定全局选项[全局选项]。例如,在.cvsrc中添加这样一行:
cvs -z6 |
将使cvs采用压缩级别6。