Next: , Previous: Global options, Up: CVS commands


A.5 共通のコマンド・オプション

ここでは、複数の cvs コマンドで共通に使用できる ‘command_options’ について説明します。 これらのオプションは、 必ず ‘cvs_command’ の右側に付けられます。 以下に示すオプションは、全てのコマンドで使えるわけではありません。 各オプションは、それが意味をなすコマンドにおいてのみ使用可能です。 しかし以下のオプションを持つコマンドがあるならば、 そのオプションは他のコマンドのものと同じ動作であると考えて良いでしょう。 (各コマンドの固有オプションのほとんどは、 他の cvs コマンドのものとは異なる意味を持っています。)

警告:history’ コマンドは例外です。このコマンドには、 ここに示す標準オプションと重複する固有オプションが多くあります。

-D date_spec
date_spec 以前のリビジョンのうち、最新のものを使用します。 date_spec には、過去の日付を示すものを一つだけ指定します。

このオプションを用いて作業ファイルを取り出すと、 指定した日付が貼り付けられます。 つまり ‘-D’ オプションの引数が記録され、 これ以後の update の際に同じ日付が用いられます (貼り付いたタグ/日付についての詳細は see Sticky tags)。 ‘-D’ は以下のコマンドで利用できます: checkout, diff, export, history, rdiff, rtag, update. (history コマンドはこのオプションを少し違った方法で使用します。 see history options).

cvs では、様々な形式で日付を指定できます。 最も標準的なものは (International Standards Organization による) ISO8601 と (RFC 822 で規定され、RFC1123 で修正された) Internet e-mail の標準です。

ISO8601 はいろんな異種があります。すこし例を挙げます:

          1972-09-24
          1972-09-24 20:05

ISO8601 の日付様式にはいろいろなものがあり、CVS はそれらの多くを受け付 けますが、おそらくながーい話し全部を聞きたいとは思わないでしょ う :-)。

Internet e-mail で使用が認められている日付に加えて、 cvs では、いくつかのフィールドが省略されたものも使えます。 例えば、以下のようなものです:

          24 Sep 1972 20:05
          24 Sep

特定の標準時が指定されていない場合は、日付はローカルの標準時として解釈 されます。

この2つの書式の使用が好まれます。しかし、cvs は今は他の日付の書式 を幅広く受け付けます。それらはここでは故意に詳しくは説明されておらず、 cvs の将来のバージョンはそれら全ては受け付けないかもしれません。

そのような書式の中に //. というものがあります。 これは月と日が逆の順番になっているものに慣れている人を混乱させます。 ‘1/4/96’ は1月4日であり、4月1日ではありません。

シェルは空白を引数の区切りにするので、 ‘-D’ の引数を引用符で囲むのを忘れてはいけません。 ‘-D’ オプションを付けたコマンド行は、次の様になるでしょう:

          $ cvs diff -D "1 hour ago" cvs.texinfo


-f
日付やタグ名を指定して cvs コマンドを用いた場合、 そのタグ名を持たない (その時には存在しなかった) ファイルは、 普通は無視されます。 タグでも日付でも引っ掛からなかったファイルを復元したい場合に、 ‘-f’ オプションを使用します (そのファイルの最新のリビジョンが取り出されます)。

-f’ のときでさえ、指定したタグは存在していなければならないことに 注意してください (すなわち、必ずしも全てのファイルというわけではなく、 いくつかのファイルにおいて)。 これは cvs が、名前の入力を間違えた ときにエラーを出すことを続けられるようにするためです。

-f’ は以下のコマンドで利用できます: annotate, checkout, export, rdiff, rtag, update.

警告: commitremove コマンドにも ‘-f’ オプションがありますが、異なる動作をします。See commit options, Removing files 参照。

-k kflag
既定のキーワード置換モードを変更します。 kflag の詳細は Substitution modes 参照。

このオプションを用いて作業ファイルを取り出すと、 kflag貼り付けられます。 つまり、このオプションを checkoutupdate コマンドに 用いた場合、cvs は指定した kflag をそのファイルに結合します。 これ以後、同ファイルに対する update コマンドには kflag が使用され続けます。 この効果は別の指定を行なうまで止みません。

-k’ オプションは以下のコマンドで利用できます: add, checkout, diff, import, update.

-l
Local の頭文字です。再帰的にサブディレクトリを辿らず、 カレントディレクトリでのみコマンドを実行します。

警告:cvs_command’ の左側に指定する ‘cvs -l’ と混同しないようにして下さい。

以下のコマンドで利用できます: annotate, checkout, commit, diff, edit, editors, export, log, rdiff, remove, rtag, status, tag, unedit, update, watch, and watchers.


-m message
-m message
エディタを起動せず、ログ情報を message に記述します。

以下のコマンドで利用できます: add, commit, import.

-n
checkout/commit/rtag コマンド実行時に、 常には実行されるプログラムを実行しません。 各コマンド実行時のプログラムは、 管理用ファイル modules に記述されます (see modules)。 つまり、このオプションは modules の記述を無効にします。

警告:cvs_command’ の左側に指定する ‘cvs -n’ と混同しないようにして下さい。

以下のコマンドで利用できます: checkout, commit, export, rtag.

-P
空のディレクトリを削除 (prune) します。Removing directories 参照。
-p
リポジトリから取得したファイルを、カレントディレクトリに置かず、 標準出力に送り (pipe) ます。

以下のコマンドで利用できます: checkout, update.

-R
再帰的にディレクトリを辿って実行します。これは指定しなくても実行されま す。

以下のコマンドで使用可能です: annotate, checkout, commit, diff, edit, editors, export, rdiff, remove, rtag, status, tag, unedit, update, watch, watchers.

-r tag
既定の先頭 (head) リビジョンの代りに、 引数 tag で指定されたリビジョンを使用します。 tagrtag コマンドで任意に定義されたタグの他に、 二つの特別なタグ ‘HEAD’ と ‘BASE’ が常に利用できます。 ‘HEAD’ は、リポジトリにある最新のリビジョンを参照します。 ‘BASE’ は、作業コピーの由来となるリビジョンを参照します。

タグを指定して checkoutupdate コマンドを実行し、 自分の作業ファイルを作った場合、そのタグは貼り付けられます。 つまりこのタグが記録され、以後他のものを指定するまで update に同じタグが使われ続けます (貼り付いたタグ/日付についての詳細は see Sticky tags)。

tag には、Tags で説明されているような文字列や、 Branching and merging で説明されているような枝の名前のどちらであ ることもできます。

コマンド・オプション ‘-r’ と一緒に 広域オプション ‘-q’ を指定すると、 rcs ファイルが指定したタグを含まない場合に、 警告出力が抑止されるので便利です。

警告:cvs_command’ の左側に指定する ‘cvs -r’ と混同しないようにして下さい!

-r’ は以下のコマンドで利用できます :checkout, commit, diff, history, export, rdiff, rtag, update.

-W
フィルタを適用したいファイルを指定します。 フィルタを適用したいファイルが複数あるときは、 このオプションを何個並べても構いません。 ファイル .cvswrappers での指定方法と同じ形式で指定します。

以下のコマンドで利用できます: import, update.