Next: , Previous: Exit status, Up: CVS commands


A.3 既定オプションと ~/.cvsrc ファイル

よく使用する command_option が幾つかあり、 そのオプションを必ず指定するように設定したいことがあります。 例えば (実際に .cvsrc を実装した要因の一つですが) 多くの人には ‘diff’ の既定出力は大変読みにくく、 context 形式か unidiff 形式のほうが遥かに分かりやすいでしょう。

シェル・スクリプトやエイリアスに頼らなくても、 ~/.cvsrc ファイルを用いて cvs_commands 各々に 既定のオプションを加えることができます。

~/.cvsrc の書式は簡単です。 実行された cvs_command と同じ名前で始まる行が検索されます。 一致した行を発見したら、行の残りの部分をオプションに分割し (空白のとこ ろで)、 コマンド行からのオプションを与える前に、 得られたオプションをコマンドの引数として与えます。 コマンドが別名を持つ場合 (例えば、checkoutco)、 コマンド行で使われるものとは限りませんが、公的な名前がファイルとの 合致時に使用されます。 例えば ~/.cvsrc の内容が次の様であった場合:

     log -N
     diff -u
     update -P
     checkout -P

cvs co foo’ も、コマンド ‘cvs checkout foo’ と同様に ‘-P’ が引数として与えられます。

上記の例では ‘cvs diff foobar’ の出力は unidiff 形式になります。 ‘cvs diff -c foobar’ だと指定通り context 形式になります。 ‘diff’ には "古い" 形式で出力するためのオプションが無いため、 "古い" 形式を使いたい場合には少し面倒ですが ‘cvs -f diff foobar’ とする必要があります。

コマンド名の部分に cvs と記述すれば、 広域オプションを指定することができます (see Global options)。 例えば .cvsrc 中の以下の行は、

     cvs -z6

cvs が圧縮レベル 6 を用いるように指定しています。