上: admin


A.6.1 admin のオプション

これらのオプションの中には cvs での有用性に疑問符が付くものもあり ますが、歴史的な互換性のために存在しています。中には、効果を解除するま で、cvs を使えなくなるものもあります!

-Aoldfile
cvs では使用されません。oldfile の利用者一覧を、 指定した rcs ファイルの利用者一覧に追加します。
-alogins
cvs では使用されません。rcs ファイルの利用者一覧に、 logins で指定された利用者を追加します。 logins はカンマで区切った利用者の一覧です。
-b[rev]
既定の枝を rev に設定します。cvs では、普通は既定の枝は操作 しません。貼り付いたタグ (see Sticky tags) を使うのがどの枝で作業 をするかを決める良い方法です。cvs admin -b を実行する理由は一つ だけあります: ベンダー枝を使用しているときに、ベンダーのバージョンに戻 すため、です (see Reverting local changes)。`-b' と引数の間に 空白があってはいけません。


-cstring
註釈符を string にします。註釈符は現在のバージョンの cvs で も、rcs 5.7 でも使用されていません。ですから、心配する必要は全く ありません。See Keyword substitution.
-e[logins]
cvs では使用されません。logins に含まれる利用者を、 rcs ファイルの利用者一覧から削除します。 logins が省略された場合は、利用者一覧を全て削除します。 `-e' と引数の間に空白があってはいけません。
-I
標準入力が端末でない場合でも対話的に動作します。 このオプションはクライアント/サーバの cvs では動作せず、将来の cvs のリリースからは消えるでしょう。
-i
cvs では無意味です。これはリビジョンを作成することなく、新しい rcs ファイルを作成して、初期化します。cvs では、cvs add コマンドでファイルを加えてください (see Adding files)。
-ksubst
既定のキーワード置換モードを subst にします。See Substitution modes. ここで既定とした方法よりも、 cvs update, cvs export, cvs checkout での `-k' オプションが優先されます。
-l[rev]
リビジョン rev をロックします。 枝番号が与えられた場合、その枝の最新リビジョンをロックします。 rev が省略された場合は、 既定の枝の最新リビジョンをロックします。 引数 と `-l' の間にスペースがあってはいけません。

cvs のソース配布物の中の contrib ディレクトリの中に、 rcslock.pl という名前のスクリプトがあります。 これを用いて上記のロック状態を、 cvs における独占取得 (一時に一人だけがファイル編集可能な状態) に置き換えることができます。 詳細はスクリプトの註釈を参照して下さい (寄贈物の支援と権利の放棄声明文が書かれたファイル README も一読して下さい)。 その註釈によれば、厳格ロックモード (既定) に設定しておく必要があります。

-L
厳格にロックを求める設定 (厳格ロックモード) にします。 厳格ロックモードだと、rcs ファイルの所有者であっても、 ロックしていないファイルは格納できません。 cvs で使用する場合は、厳格ロックモードにする必要があります。 上記 `-l' オプションの説明も参照して下さい。


-mrev:msg
リビジョン rev のログ・メッセージを msg に替えます。
-Nname[:[rev]]
これ以前の name の設定を無効にすることを除けば、 `-n' と同じように働きます。 魔法の枝での使用法は Magic branch numbers を参照してください。
-nname[:[rev]]
枝またはリビジョン rev にタグ名 name を付けます。 通常は `cvs tag' か `cvs rtag' を代わりに用いると良いでしょう。 `:' と rev の両方を省略すると、タグ名が削除されます。 また name が既に使用されていた場合は、 エラー・メッセージが出力されます。 rev がタグ名のときは、相当する番号に置換されます。 枝番号の後に `.' を付けて rev に指定した場合、 その枝の現時点での最新リビジョンになります。 `:' だけで rev を指定しなかった場合、 既定の枝 (通常は幹) の現時点での最新リビジョンになります。 例えば `cvs admin -nname: RCS/*' は、 指定された全ての RCS ファイルの、 現時点での最新リビジョンに name というタグ名を付けます。 一方 `cvs admin -nname:$ RCS/*' では、 各作業ファイルのキーワード文字列に含まれる リビジョンに name というタグ名を付けます。


-orange
range の範囲のリビジョンを消去 (過去のものにする) します。

このコマンドは何をしているかを 正確に 知っていないと非常に危険 であることに注意してください (例えば、以下の rev1:rev2 と いう構文がいかに間違いやすいかという警告を読んでください)。

ディスクの容量が少ないなら、このオプションは役に立つかもしれません。し かし、使う前によく考えてください—このコマンドを取り消すためには最後 のバックアップで復元するしかありません! 不注意や、(天が禁止している) CVS のバグによって、計画していたものと違うリビジョンを消してしまったら、 リビジョンが消去される前のエラーを修正する機会はありません。おそらく、 まずリポジトリのコピーで試すというのは良い考えでしょう。

以下のどれかで range を指定します:

rev1::rev2
CVS が rev1 から rev2 に関連付けられた差分だけを保存し、間の段階を保存 しないように、rev1 と rev2 間の全てのリビジョンを壊します。例えば、 `-o 1.3::1.5' の後では、リビジョン 1.3, リビジョン 1.5, 1.3 から 1.5 の差分を取得することができますが、リビジョン 1.4 や 1.3 と 1.4 の 差分を取得することはできません。他の例です: `-o 1.3::1.4' と `-o 1.3::1.3' は間に消去するリビジョンが無いので、何の効果もあり ません。
::rev
rev のある枝と rev 自身の間のリビジョンを壊します。枝の始 点と rev はそのまま残ります。例えば、`-o ::1.3.2.6' はリビ ジョン 1.3.2.1, リビジョン 1.3.2.5, とその間の全てのものを消去しますが、 1.3 と 1.3.2.6 はそのまま残します。
rev::
revrev のある枝の最後との間のリビジョンを壊します。リ ビジョン rev はそのまま残りますが、先頭のリビジョンは消去されま す。
rev
リビジョン rev を消去します。例えば、`-o 1.3' は `-o 1.2::1.4' と等価です。
rev1:rev2
同じ枝の rev1 から rev2 のリビジョンを、それを含めて消去し ます。rev1rev2 やその間の全てのリビジョンを取得するこ とはできなくなります。例えば、コマンド `cvs admin -oR_1_01:R_1_02 .' はほとんど役に立ちません。それは、タグ R_1_02 までのリビジョンを、 それを含めて消去するということです。でも注意してください! R_1_02 と R_1_03 で変更されていないファイルがあれば、そのファイルはタグ R_1_02 と R_1_03 で同じ数値リビジョン番号になっています。ですから、 R_1_02 を取得できなるだけではありません。R_1_03 もテープから復元しなけ ればならなくなります! たいていの場合、代わりに rev::rev2 と指定しようと思うでしょう。
:rev
rev のある枝の最初から、rev までのリビジョンを、それを含め て消去します。
rev:
rev のある枝の最後から、rev までのリビジョンを、それを含め て消去します。

消去されるべきリビジョンは全て枝やロックを持っていてはいけません。

消去されるべきリビジョンにタグ名があり、`::' 構文のどれかを指定 すると、cvs はエラーを出して、どのリビジョンも消去されません。タ グ名とリビジョンの両方を消去したいなら、まず cvs tag -d でタグ 名を消去し、それから cvs admin -o を実行します。`::' でな い構文をいてい すると、cvs はリビジョンを消去しますが、タグ名を存 在しないリビジョン指すタグ名として残します。この振舞いは cvs の以 前のバージョンとの互換性のために残されています。しかし、これは便利では ありませんので、将来は `::' の場合と同様の振舞いに変更されるかも しれません。

cvs が枝を扱う方法のために、rev は、もし枝であれば名前で指 定することはできません。説明は、See Magic branch numbers.

だれも壊したリビジョンのコピーを取り出していないことを確認してください。 誰かがそれを編集して、格納し直そうとすると、変なことが起こります。この ため、このオプションは無駄な格納を戻すためには良い方法ではありません。 代わりにその変更を元に戻すための新しいリビジョンを格納してください (see Merging two revisions)。

-q
簡素な (quiet) 表示、つまり実行時に診断情報を表示しません。
-sstate[:rev]
cvs でも使用します。 リビジョン rev の状態を識別する文字列を state にします。 rev が枝番号の場合、その枝の最新リビジョンの状態を変更します。 rev を省略すると、既定の枝の最新リビジョンを変更します。 state には、どのような文字列を用いても構いません。 通常使用されるのは、`Exp' (実験段階), `Stab' (安定動作), `Rel' (出荷済) といった組み合わせです。 既定では、新しく作成されたリビジョンの状態は `Exp' にされます。 各リビジョンの状態は、`cvs log' (see log) の出力や、 キーワード `$Log$', `$State$' (see Keyword substitution) の内容で確認できます。 ここで、cvsdead という状態を 独自の目的で用いることに注意して下さい。 dead 状態を扱う際には、cvs removecvs add といったコマンドを使用し、 `cvs admin -s' を使用してはいけません。
-t[file]
cvs でも使用します。 rcs ファイルの説明文を file の内容に書き換えます。 file のパス名は `-' で始まってはいけません。 各ファイルの説明文は `cvs log' (see log) の出力で確認できます。 `-t' と引数の間に空白があってはいけません。

file が省略された場合、標準入力が用いられ、 ファイル終端 (EOF) もしくは `.' のみの行で終了します。 対話的動作が可能なら入力促進も可能です。`-I' を参照してださい。 クライアント/サーバの cvs では標準入力からの読み込みは動作せず、 将来の cvs のリリースでは変更されるかもしれません。

-t-string
`-tfile' と同様です。 rcs ファイルの説明文を string に書き換えます。 `-t' と引数の間に空白があってはいけません。
-U
厳格にはロックしない設定 (非厳格ロックモード) にします。 非厳格ロックモードだと、rcs ファイルの所有者ならば、 ロックしていないファイルも格納できます。 cvs で使用する場合は、厳格ロックモードにする必要があります。 上記 `-l' オプションの説明も参照して下さい。
-u[rev]
このオプションを cvs で使用する際の説明は、 上記 `-l' オプションを参照して下さい。 リビジョン rev のロックを解除します。 枝を指定した場合、その枝の最新リビジョンのロックを解除します。 rev を省略すると、その人物が行なった最後のロックを解除します。 通常は、ロックを掛けた人物だけがロックを解除できます。 誰か他の人物がロックを解除した場合には、 ロックを掛けた人物にメールが送信されます。 このメールにはロックを解除した理由等が書き添えられます。 連絡文はロックを解除した人物が入力し、 ファイル終端 (EOF) もしくは `.' のみの行で終了します。 `-u' とその引数の間に空白があってはいけません。
-Vn
前のバージョンの cvs ではこのオプションはバージョン nrcs ファイルが認識できる rcs ファイルを書くことを意味してい ましたが、今は旧式となり、それを指定するとエラーを起こします。
-xsuffixes
前のバージョンの cvs では、これは rcs ファイルの名前を指定す るための方法として説明されていました。しかし、cvs は常に cvs で使用される rcs ファイルは `,v' で終わることを要求してきま したので、このオプションは今まで役に立ったことはありません。