Manpages

名 称

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 | : 識 別 子 は 大 文 字 小 文 字 を 区 別 し ま す 。 キ ー ワ ー ド は 小 文 字 の み で す 。 キ ー ワ ー ド と 識 別 子 の 集 合 は 重 複 可 能 で す 。 ほ と ん ど の 環 境 で は 、 RCSISO 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 (協 定 世 界 時 ) で 表 し ま す 。 文 法 中 の newphraseRCS フ ァ イ ル 書 式 の 今 後 の 拡 張 の た め に 予 約 さ れ て い ま す 。 す で に 使 わ れ て い る キ ー ワ ー ド で は 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 フ ァ イ ル の 構 成 の 例 を 示 し て い ま す 。

Head
|
|
v / \
--------- / \
/ \ / \ | | / \ / \
/ \ / \ | 2.1 | / \ / \
/ \ / \ | | / \ / \
/1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
--------- --------- --------- --------- -------------
^ ^ | ^ ^
| | | | |
| | v | |
/ \ | --------- / \ |
/ \ | \ 1.3 / / \ |
/ \ ---------\ / / \-----------
/1.2.1.1\ \ / /1.2.2.1\
--------- \ / ---------
^ | ^
| | |
| v |
| --------- |
| \ 1.2 / |
----------------------\ /---------
\ /
\ /
|
|
v
---------
\ 1.1 /
\ /
\ /
\ /

作 者

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.