スポンサーリンク

RCS

名称
書式
解説
オプション
互換性
関連ファイル
環境変数
診断
作者
関連項目
バグ

名称

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 ファイルが生成されます。

バージョン nRCS で処理できる RCS ファイルを生成するために rcs −Vn を利用することができます。これにより、バージョン n で処理できない情報を 削除することができます。

バージョン 5.5 以前の RCS−x オプションをサポートしません。 RCS ファ イルの拡張子としては ,v が用いられます。

関連ファイル

rcsci(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 オプション を 用いる必要があります。

スポンサーリンク