RCS

Section: User Commands (1)
Updated: 1999/08/27
IndexJM Home Page
 

名称

rcs - RCS ファイルの属性を変更する 

書式

rcsoptions 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 & Experience15, 7 (July 1985), 637-654. 

バグ

システムクラッシュ等の大惨事があると、RCS はセマフォファイルを 残してしまうため、後に RCS を実行しようとすると、RCS ファイルが使用中であると 警告します。 これを直すにはセマフォファイルを消去する必要があります。 通常、セマフォファイル名前は,で始まるか、_で終了します。

以前の版のrcsでは-oオプションにおけるリビジョンの区切りは:ではなく-でした。 しかし、これはシンボリック名が-を含んでいるときに混乱を生じます。 従来の版との互換性のためrcs -o-を用いた記法もサポートしますが、 この記法を用いた場合は警告メッセージを表示します。

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


関連キーワード

リビジョン,rev,ロック,ユーザ,アクセス,バージョン,モード,リスト,ワーク,コメント 

Index

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

This document was created byman2html, using the manual pages.
Time: 15:49:14 GMT, July 11, 2021