Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名称
rcs - RCS ファイルの属性を変更する
書式
rcs options file ...
解説
rcs は、RCS ファイルの新規作成および RCS ファイルの属性変更を行います。 RCS ファイルは、複 数のリビジョン、アクセスリスト、変更履歴、 内容記述、制御属性からなります。 rcs コマンドが 実行できるのは、 実行したユーザが RCS ファイルのアクセスリストに登録されているか、 アクセ スリストが空であるか、ユーザが RCS ファイルの所有者であるか、 スーパユーザであるか、あるい は -i オプションが指定されている場合に限られます。 RCS 拡張子にマッチするファイル名は RCS ファイルであるとみなし、その他 のファイル名はワーク ファイルであるとみなします。詳しくは、 ci(1) を参照してください。リビジョン番号は ci(1) に 記述されている形式を用います。
オプション
-i 新たな RCS ファイルを作成し、初期化します。ただし、リビジョンは作成しません。 指定 されたファイル名にディレクトリ名が含まれていない場合、 rcs はまずカレントディレクト リにある ./RCS ディレクトリにファイルを作成しよう と試みます。これに失敗したら、カ レントディレクトリに作成しようと試みます。 もしすでに RCS ファイルが存在した場合は エラーとなります。 -alogins RCS ファイルのアクセスリストに logins で指定したユーザ名を追加します。 logins は、コンマで区切ったユーザ名のリストです。 -Aoldfile oldfile で指定した RCS ファイルのアクセスリストに登録されているユーザ名を、 対象の RCS ファイルのアクセスリストに追加します。 -e[logins] logins で指定したユーザ名を、RCS ファイルのアクセスリストから消去します。 logins が 省略された場合は、アクセスリスト全体を消去します。 -b[rev] rev をデフォルトの枝とします。 rev が省略された場合、デフォルト枝は 幹上で最も大き な番号を持つ枝になります。 -cstring コメント開始文字列を string に設定します。 最初に ci を起動した時、あるいは rcs -i に -c オプションを指定しなかった時は、コメント開始文字列は ワークファイルの拡張子か ら自動的に推測されます。 通常、RCS はチェックアウト ( co(1) 参照) 時の記録行を挿入する際に、 $Log$ 行の行頭 部を使用するので、このオプションは現在廃止の方向にあります。 しかしながら、RCS の古 いバージョンでは、 $Log$ 行の行頭部ではなくコメント開始文字列を使用しているので、 RCS の新旧両方のバージョンのファイルを使用する場合は、 そのコメント開始文字列が $Log$ 行の行頭部と一致するようにしなければなりません。 -ksubst デフォルトのキーワード展開方式を subst に設定します。キーワード展開の効果については co(1) に記述してあります。 co, rcsdiff, rcsmerge に -k オプションを指定すること で、デフォルトの展開方式を無効にすることができます。 rcs -kv を用いるときは注意して ください。なぜなら、 -kv をデフォルトにすると co -l あいいれなくなるからです。 rcs -kkv によって、通常のデフォルト値に戻すことができます。 -l[rev] リビジョン rev をロックします。 rev が枝を示す場合、枝上の最新のリビジョンがロック されます。 rev が省略された場合、デフォルト枝上の最新のリビジョンがロックされます。 ロックすることにより、そのリビジョンのファイルに対して複数の人が 変更することを防止 できます。別の人が既にロックしている場合、 rcs -u により、ロックを解除することがで きます(下記参照)。 -u[rev] リビジョン rev をロック解除します。 rev が枝を示す場合、枝上の最新のリビジョンが ロック解除されます。 rev が省略された場合、コマンドを実行したユーザがロックした 最 新のリビジョンがロック解除されます。 通常、ロックしたユーザのみがロックを解除するこ とができます。 他のユーザがロックを解除しようとすると、 ロックしたユーザへメールが 送信されます。 メールにはロックを解除する理由等を書いた コメントを付加します。コメ ントはロックを解除しようとしたユーザが入力し、 ファイル終端あるいは . のみを含む行 を入力することで終了します。 -L ロックを厳格に行なうモード (以下、厳格モード) に設定します。 厳格ロックを指定する と、RCS ファイルの 所有者であっても、ロックしているファイルをチェックインすることが できなくなります。 複数のユーザで共有するようなファイルは本モードで利用すべきです。 -U ロックを厳格には行なわないモード (以下、非厳格モード) に設定します。 非厳格ロックを 指定すると、RCS ファイルの所有者はロックすることなく、 新しいリビジョンをチェックイ ンすることができます。複数の ユーザで共有するファイルは本モードで使用すべきではあり ません。 デフォルトのロックモードを厳格にするか非厳格にするかは、RCS システムを イ ンストールしたシステム管理者が決めますが、通常は厳格モードです。 -mrev:msg リビジョン rev のログメッセージを msg に置換します。 -M ロックしたユーザ以外のユーザがロックを解除した際に、メールを送りません。 これは使用 を簡便にする目的のオプションではありません。他の方法により ユーザに警告を行うような プログラムを使用し、 rcs -u を単に低いレベルのロック解除の目的で使用するような場合 のために 用意されています。 -nname[:[rev]] 枝またはリビジョン rev にシンボリック名 name を関連付けます。 : も rev も省略した場 合、シンボリック名 name は削除されます。 name がすでに別の リビジョンに関連付けられ ていた場合はエラーとなります。 rev がシンボリック名の場合も name との関連付けは番号 によって行われます。枝番号に . を付加したものは、その枝での最新のリビジョンを示し ます。 : だけで rev を省略した場合、デフォルト枝(通常は幹)の最新のリビジョンが関連 付けられます。 たとえば、 rcs -nname: RCS/* はすべての RCS ファイルの最新のリビジョ ンに対してシンボリック名 name を関連付けます。一方、 rcs -nname:$ RCS/* は各 RCS ファイルに対応したワークファイル中のキーワードに含まれる リビジョン番号と name を関 連付けます。 -Nname[:[rev]] -n と同様に動作します。ただし、同じ name が別のリビジョンに関連付けられていてもエ ラーとはせず、 関連付けをしなおします。 -orange range で指定したリビジョンを削除します。 range がただ 1 つのリビジョン番号なら ば、そのリビジョンを削除します。 range に枝番号が含まれれば、その枝の最新のリビジョ ンを削除します。 rev1:rev2 形式の範囲指定では、同じ枝上の rev1 から rev2 までのすべ てのリビジョンが削除されます。 :rev は枝の開始から rev までのリビジョンを、 rev: は 同じ枝上の rev 以降のリビジョンのすべてを削除します。 削除されるリビジョンにロック や枝があってはいけません。 -q 診断メッセージは表示されません。 -I 対話モードで動作します。たとえ標準入力が端末でなくても、ユーザに対して 問い合わせを 行います。 -sstate[:rev] リビジョン rev の状態を state にします。 rev が枝番号なら、その枝の最新のリビジョン の状態を変更します。 rev が省略されたなら、デフォルト枝の最新リビジョンを変更しま す。 state としては自由な識別子を指定できます。一般に用いられる識別子としては、 Exp (experimental: 実験的)、 Stab (stable: 安定した)、 Rel (released: リリースした)があ ります。デフォルトでは、 ci(1) は状態を Exp にします。 -t[file] RCS ファイルの内容記述テキストをファイル file の内容で置換します。すでに存在してい た内容記述は削除されます。ファイル名は - で始まってはいけません。 file が省略された 場合、 テキストは標準入力から読み込まれ、ファイル終端または . のみを含む行で終了し ます。可能ならば、テキストの入力を 促すプロンプトが表示されます( -I オプションの項 を参照)。 -i オプションを指定すると、 -t オプションが指定されていなくても内容記述テ キストの入力を求めます。 -t-string RCS ファイルの内容記述テキストを文字列 string で置換します。すでに存在していた内容 記述は削除されます。 -T リビジョンが削除されない限り、RCS ファイルの変更時刻を保存します。 このオプションを 使うことにより、RCS ファイルの中のワークファイルの コピーによって生ずる make(1) の 依存関係に伴う必要以上の再コンパイルを防ぐことができます。 このオプションを使用する 際には注意が必要です。本当に再コンパイルが必要な 場合にも再コンパイルされない場合が 生じます。つまり、RCS ファイルへの変更が ワークファイル中のキーワードの変更を意味す る場合があるからです。 -V RCS システムのバージョン番号を表示します。 -Vn RCS システムのバージョン n のエミュレーションを行います。詳細は co(1) を参照してく ださい。 -xsuffixes RCS ファイル拡張子を suffixes に指定します。詳しくは ci(1) を参照してください。 -zzone デフォルトのタイムゾーンとして zone を使用します。 このオプションは何の効果もありま せん。他の RCS コマンドとの互換性を保つ ために存在します。 rcs コマンドの将来予定されている拡張との互換性を維持するには、 少なくともひとつのオプショ ンを明示的に指定する必要があります。
互換性
-brev オプションを指定すると、 RCS バージョン 3 以前では処理できない RCS ファイルが生成さ れます。 -ksubst オプション( -kkv を除く)を指定すると、 RCS バージョン 4 以前では 処理できない RCS ファイルが生成されます。 バージョン n の RCS で処理できる RCS ファイルを生成するために rcs -Vn を利用することができ ます。これにより、バージョン n で処理できない情報を削除することができます。 バージョン 5.5 以前の RCS は -x オプションをサポートしません。RCS ファイルの拡張子としては ,v が用いられます。
関連ファイル
rcs は ci(1) とほぼ同様のファイル群にアクセスします。ただし、アクセスは すべて実効ユーザ ID によって行われます。 また、ワークファイルやそのディレクトリには書き込みを 行いませ ん。リビジョン番号として $ を指定した場合を除き、ワークファイルを読むこともありません。
環境変数
RCSINIT コマンドライン引数に先立って与えられるオプションを指定します。 各オプションは空白で 区切って指定します。詳しくは ci(1) を参照してください。
診断
RCS ファイル名およびひとつ古い(outdated)リビジョン番号が診断出力として 表示されます。 すべ ての処理が成功した場合に限り終了ステータス 0 を返します。
作者
Author: Walter F. Tichy. Manual Page Revision: 1.5; Release Date: 1999/08/27. Copyright © 1982, 1988, 1989 by Walter F. Tichy. Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
関連項目
rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5) Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.
バグ
システムクラッシュ等の大惨事があると、RCS はセマフォファイルを 残してしまうため、後に RCS を実行しようとすると、RCS ファイルが使用中であると 警告します。 これを直すにはセマフォファ イルを消去する必要があります。 通常、セマフォファイル名前は , で始まるか、 _ で終了しま す。 以前の版の rcs では -o オプションにおけるリビジョンの区切りは : ではなく - でした。 しか し、これはシンボリック名が - を含んでいるときに混乱を生じます。 従来の版との互換性のため rcs -o は - を用いた記法もサポートしますが、 この記法を用いた場合は警告メッセージを表示し ます。 シンボリック名が指しているリビジョンが存在するとは限りません。例えば、 -o オプションによっ てリビジョンが削除されてもそれを指すシンボリック名は削 除されずに残っています。シンボリッ ク名を削除するには -n オプションを用いる必要があります。