RCS
Section: User Commands (1)
Updated: 1999/08/27
Index
JM Home Page
roff page
名称
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
オプションを用いる必要があります。
Index
- 名称
-
- 書式
-
- 解説
-
- オプション
-
- 互換性
-
- 関連ファイル
-
- 環境変数
-
- 診断
-
- 作者
-
- 関連項目
-
- バグ
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:40 GMT, November 24, 2023