RCS(1)

名称
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
    コメント開始文字列を設定します。コメント開始文字列は、キーワード $Log$ が展開されるときのログメッセージの行頭に出力されます。これは、複 数行にわたるコメントをサポートしていないプログラミング言語でキー ワード Log を展開する場合に便利です。最初に ci を起動したとき、あるいは rcs -i に -c オプションを指定しなかったときは、コメント開始文字列はワー クファイルの拡張子から自動的に推測され、デフォルト値として RCS ファイ ル中に記録されます。

-ksubst
    デフォルトのキーワード展開方式を設定します。キーワード展開の効果につい ては 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 に置換します。

-nname[:[rev]]
    枝またはリビジョン rev にシンボリック名 name を関連付けます。 : も rev も省略した場合、シンボリック名 name は削除されます。 name がすでに別の リビジョンに関連付けられていた場合はエラーとなります。 rev がシンボリッ ク名の場合も name との関連付けは番号によって行われます。枝番号に . を付加したものは、その枝での最新のリビジョンを示します。 : だけで rev を省略した場合、デフォルト枝の最新のリビジョンが関連付けられます。たとえば、 rcs -nname: RCS/* はすべての RCS ファイルの最新のリビジョンに対してシ ンボリック名 name を関連付けます。一方、 rcs -n name :$ 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 で置換します。すでに存在し ていた内容記述は削除されます。

-Vn RCS システムのバージョン n のエミュレーションを行います。詳細は co(1) を参照してください。

-xsuffixes
    RCS ファイル拡張子を指定します。詳しくは ci(1) を参照してください。

互換性
-brev オプションを指定すると、 RCS バージョン 3 以前では処理できない RCS ファイルが生成されます。

-ksubst オプションを指定する( -kkv は除く)と、 RCS バージョン 4 以前では 処理できない RCS ファイルが生成されます。

過去のバージョンの RCS で処理できる RCS ファイルを生成するために rcs -Vn を利用することができます。

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

関連ファイル
rcs は ci(1) とほぼ同様のファイル群にアクセスします。ただし、アクセスは すべて実行ユーザ ID によって行われます。また、ワークファイルに書き込みを 行いません。リビジョン番号として $ を指定しなかった場合、ワークファ イルを読むこともありません。

環境変数

RCSINIT
    コマンドライン引数に先立って指定すべきオプションを指定します。オプショ ンは空白で区切って指定します。詳しくは ci(1) を参照してください。

診断
RCS ファイル名、処理対象のリビジョン番号が表示されます。すべての処理が 成功した場合に限り終了ステータス 0 を返します。

作者
Author: Walter F. Tichy.
Revision Number: ; Release Date: .
Copyright © 1982, 1988, 1989 by Walter F. Tichy.
Copyright © 1990, 1991 by Paul Eggert.

関連項目
co(1), ci(1), ident(1), rcsdiff(1), rcsintro(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 では -o オプションにおけるリビジョンの区切りは - でした。 しかし、これはシンボリック名が - を含んでいるときに混乱を生じます。 従来の版との互換性のため、 - を用いた記法もサポートしますが、この記法 を用いた場合は警告メッセージを表示します。

シンボリック名が指しているリビジョンが存在するとは限りません。例えば、 -o オプションによってリビジョンが削除されてもそれを指すシンボリック名は削 除されずに残っています。シンボリック名を削除するには -n オプションを用いる必要があります。