Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名称
rcsfile - RCS ファイルの書式
解説
RCS ファイルの内容は以下の文法に基づき記述されます。
テキストはフリーフォーマットであり、 文字列中のスペース、バックスペース、 タブ、改行、垂直タブ、改頁、復
帰 (まとめて 空白 と呼びます) は意味を持ちません。 例外として、id, num, sym 内では空白があってはならず、
RCS ファイルは改行で終わらなければなりません。
文字列は @ で括られます。文字列が @ 自身を含む場合、2 重化されなければならず、それ以外は任意の バイナリ
データを含むことができます。
以下、簡便のためにメタ文法を用います。 `|' (縦棒) は選言を分けます。 `{' と `}' は省略可能な句を括りま
す。 `{' と `}*' は 0 回以上繰り返される句を括ります。 `{' と `}+' は 1 回以上繰り返される句を括ります。
終端記号は 太字 で、非終端記号は 斜体 で表記します。
rcstext ::= admin {delta}* desc {deltatext}*
admin ::= head {num};
{ branch {num}; }
access {id}*;
symbols {sym : num}*;
locks {id : num}*; {strict ;}
{ comment {string}; }
{ expand {string}; }
{ newphrase }*
delta ::= num
date num;
author id;
state {id};
branches {num}*;
next {num};
{ newphrase }*
desc ::= desc string
deltatext ::= num
log string
{ newphrase }*
text string
num ::= {digit | .}+
digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
id ::= {num} idchar {idchar | num}*
sym ::= {digit}* idchar {idchar | digit}*
idchar ::= special を除く任意の可視文字 (visible graphic character)
special ::= $ | , | . | : | ; | @
string ::= @{任意の文字、ただし @ は 2 重化される}*@
newphrase ::= id word* ;
word ::= id | num | string | :
識別子は大文字小文字を区別します。 キーワードは小文字のみです。 キーワードと識別子の集合は重複可能です。
ほとんどの環境では、RCS は ISO 8859/1 エンコーディングを用います。 このコードでは、可視文字のコードが
041-176 と 240-377 で、 空白文字のコードが 010-015 と 040 です。
date キーワードの後に現れる日時は Y.mm.dd.hh.mm.ss という書式で、それぞれ Y が年を、 mm が月 (01-12) を、
dd が日 (01-31) を、 hh が時 (00-23) を、 mm が分 (00-59) を、 ss が秒 (00-60) を表します。 Y は 1900 年
から 1999 年までは年の最後の 2 桁で表し、それ以降は 年のすべての桁で表します。 日付はグレゴリオ暦を用
い、時刻は UTC (協定世界時) で表します。
文法中の newphrase は RCS ファイル書式の今後の拡張のために予約されています。 すでに使われているキーワード
では newphrase は始まりません。
複数の delta ノードが集まって、木を形成します。 単一の組からなる番号のノード (例えば 2.3, 2.1, 1.3 など)
は すべて幹 (trunk) であり、降順で next フィールドを通してリンクされています。 admin ノードの head フィー
ルドは、このシーケンスの先頭 (head; すなわち最高位の組) を示します。 admin ノードの branch ノードは、 ほ
とんどの RCS 操作が利用するデフォルトの枝 (もしくはリビジョン) を示します。 もしこれが存在しなければ、幹
の最高位の枝が用いられます。
2n 個 (n≥2) のフィールドからなる番号を持つ全 delta ノード (例えば 3.1.1.1, 2.1.2.2 など) は、次のようにリ
ンクされます。 すなわち、先頭の 2n-1 個のフィールドの番号が等しい全ノードは、昇順で next フィールドを通し
てリンクされます。 シーケンス中の delta ノードの番号の先頭 2n-2 個分と等しい番号を持つ delta ノードは、そ
のシーケンスの分岐点と呼ばれます。 ノードの branches フィールドは、 そのノードが分岐点となっている全シー
ケンスに対し、 最初のノード番号のリストを保持しています。 このリストは昇順で並べられています。
以下の図は RCS ファイルの構成の例を示しています。
\h'\n[lss]u'Head
\h'\n[lss]u'|
\h'\n[lss]u'|
\h'\n[lss]u'v / \
\h'\n[lss]u'--------- / \
\h'\n[lss]u'/ \ / \ | | / \ / \
\h'\n[lss]u'/ \ / \ | 2.1 | / \ / \
\h'\n[lss]u'/ \ / \ | | / \ / \
/1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
--------- --------- --------- --------- -------------
\h'\n[lss]u'^ ^ | ^ ^
\h'\n[lss]u'| | | | |
\h'\n[lss]u'| | v | |
\h'\n[lss]u'/ \ | --------- / \ |
\h'\n[lss]u'/ \ | \ 1.3 / / \ |
\h'\n[lss]u'/ \ ---------\ / / \-----------
/1.2.1.1\ \ / /1.2.2.1\
--------- \ / ---------
\h'\n[lss]u'^ | ^
\h'\n[lss]u'| | |
\h'\n[lss]u'| v |
\h'\n[lss]u'| --------- |
\h'\n[lss]u'| \ 1.2 / |
\h'\n[lss]u'----------------------\ /---------
\h'\n[lss]u'\ /
\h'\n[lss]u'\ /
\h'\n[lss]u'|
\h'\n[lss]u'|
\h'\n[lss]u'v
\h'\n[lss]u'---------
\h'\n[lss]u'\ 1.1 /
\h'\n[lss]u'\ /
\h'\n[lss]u'\ /
\h'\n[lss]u'\ /
作者
Author: Walter F. Tichy, Purdue University, West Lafayette, IN, 47907.
Manual Page Revision: 1.5.2.1; Release Date: 2001/07/22.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
関連項目
rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1)
Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985),
637-654.
GNU 2001/07/22 RCSFILE(5)