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