名 称
rcsintro − RCS 入 門
解 説
RCS (Revision Control System) は 、 フ ァ イ ル の リ ビ ジ ョ ン を 複 数 管 理 し ま す 。 RCS は 格 納 、 取 り 出 し 、 ロ グ 、 識 別 、 リ ビ ジ ョ ン の 併 合 を 自 動 化 し ま す 。 RCS は 頻 繁 に 更 新 さ れ る テ キ ス ト 、 た と え ば 、 プ ロ グ ラ ム 、 ド キ ュ メ ン ト 、 グ ラ フ ィ ッ ク ス 、 論 文 、 定 型 手 紙 等 を 扱 う の に 便 利 で す 。 基 本 的 な ユ ー ザ イ ン タ フ ェ ー ス は と て も 単 純 で す 。 初 心 者 は 2 つ の コ マ ン ド 、 ci(1) と co(1) を 覚 え る だ け で 使 用 で き ま す 。 ci は チ ェ ッ ク イ ン “check in” を 省 略 し た 名 前 で す 。 こ れ は 、 フ ァ イ ル の 内 容 を 「 RCS フ ァ イ ル 」 と 呼 ば れ る 記 録 用 の フ ァ イ ル に 格 納 し ま す 。 RCS フ ァ イ ル は 、 特 定 フ ァ イ ル の 全 リ ビ ジ ョ ン を 含 ん で い ま す 。 co は チ ェ ッ ク ア ウ ト “check out” を 省 略 し た 名 前 で す 。 こ れ は 、 RCS フ ァ イ ル か ら リ ビ ジ ョ ン を 取 り 出 し ま す 。
RCS の 機 能
• テ キ ス ト の 複 数 の リ ビ ジ ョ ン の 保 存 と 取 り 出 し を 行 い ま す 。 RCS は す |
べ て の 古 い リ ビ ジ ョ ン を 効 率 的 な 方 法 で 保 存 し ま す 。 フ ァ イ ル を 変 更 し て も 元 の リ ビ ジ ョ ン が 失 な わ れ る こ と は な く 、 い ず れ も 取 り 出 す こ と が 可 能 で す 。 リ ビ ジ ョ ン は 、 リ ビ ジ ョ ン 番 号 、 シ ン ボ ル 名 、 日 付 、 作 者 、 状 態 を 指 定 し て 取 り 出 せ ま す 。
• 完 全 な 変 更 の 履 歴 を 管 理 し ま す 。 |
RCS は 、 す べ て の 変 更 点 を 自 動 的 に |
記 録 し ま す 。 各 リ ビ ジ ョ ン の 内 容 と と も に 、 作 者 、 チ ェ ッ ク イ ン し た 日 時 、 変 更 点 を 要 約 し た ロ グ メ ッ セ ー ジ が 記 録 さ れ ま す 。 ロ グ に よ っ て 、 ど の よ う な 変 更 が 行 わ れ た の か が ひ と 目 で わ か り ま す 。 ソ ー ス リ ス ト を 見 比 べ た り 、 一 緒 に 作 業 し て い る プ ロ グ ラ マ に た ず ね た り す る 必 要 は あ り ま せ ん 。
• ア ク セ ス 矛 盾 を 解 決 し ま す 。 複 数 の プ ロ グ ラ マ が あ る フ ァ イ ル の 同 じ リ ビ ジ ョ ン に 対 し て 変 更 を 加 え よ う と し た 場 合 、 |
RCS は 警 告 を 発 し 、 他 者 が 行 っ た 変 更 を 台 無 し に し て し ま う の を 防 ぎ ま す 。
• リ ビ ジ ョ ン の 木 を 管 理 し ま す 。 |
RCS は モ ジ ュ ー ル ご と に 独 立 し た 開 発 |
ラ イ ン を 管 理 で き ま す 。 RCS は 、 リ ビ ジ ョ ン の 系 図 を 表 現 し た 木 を 保 存 し ま す 。
• リ ビ ジ ョ ン を 併 合 し 、 矛 盾 を 解 決 し ま す 。 あ る モ ジ ュ ー ル の 2 つ の リ |
ビ ジ ョ ン を 併 合 す る こ と が で き ま す 。 併 合 し よ う と す る 2 つ の リ ビ ジ ョ ン が 、 あ る コ ー ド の 同 じ 部 分 に 対 す る 変 更 を 含 ん で い た 場 合 、 RCS は 変 更 が 重 複 し て い る と 警 告 し ま す 。
• リ リ ー ス と 構 成 を 管 理 し ま す 。 リ ビ ジ ョ ン に は シ ン ボ ル 名 を つ け る こ と が で き ま す 。 ま た 、 「 リ リ ー ス 版 |
(released)」 、 「 安 定 版 (stable)」 、 「 実 験 版 (experimental)」 と い っ た 状 態 を つ け る こ と も で き ま す 。 こ れ に よ り 、 単 純 か つ 直 接 的 に モ ジ ュ ー ル の 構 成 を 表 す こ と が で き ま す
• リ ビ ジ ョ ン 番 号 、 作 成 日 時 、 作 者 等 を 自 動 的 に 識 別 す る こ と が で き ま す 。 識 別 情 報 は 、 消 印 の よ う に テ キ ス ト の 適 当 な 場 所 に 埋 め 込 む こ と が で き ま す 。 こ れ に よ り 、 あ る ソ フ ト ウ ェ ア の 構 成 に ど の モ ジ ュ ー ル の ど の リ ビ ジ ョ ン が 使 用 さ れ て い る か を 判 断 す る こ と が 容 易 に な り ま す 。 | |
• 必 要 な デ ィ ス ク 容 量 を 最 小 に し ま す 。 |
RCS は 、 リ ビ ジ ョ ン の た め に 最 小 の ス ペ ー ス (差 分 の み )し か 消 費 し ま せ ん 。 も し 途 中 の リ ビ ジ ョ ン が 削 除 さ れ た な ら 、 記 録 さ れ て い た 差 分 も そ れ に 従 っ て 小 さ く な り ま す 。
RCS
事 始 め
RCS の 管 理 下 に
置 き た い f.c と
い う フ ァ イ ル
が あ る と し ま
す 。 も し 、 ま
だ 作 成 し て い
な け れ ば 、
RCS デ ィ レ ク
ト リ を 以 下 の
コ マ ン ド に よ
り 作 成 し ま す
。
mkdir RCS 次 に ci (チ ェ ッ ク イ ン ) コ マ ン ド を 実 行 し ま す 。
ci f.c こ れ に よ り 、 f.c の 内 容 を リ ビ ジ ョ ン 1.1 と し て 記 録 し た RCS フ ァ イ ル が RCS デ ィ レ ク ト リ 内 に 作 成 さ れ 、 f.c は 削 除 さ れ ま す 。 ま た 、 ci は f.c に 関 す る 説 明 文 の 入 力 を 促 し ま す 。 説 明 文 に は フ ァ イ ル の 内 容 を 要 約 し て 書 き ま す 。 以 降 ci を 実 行 す る た び に 、 フ ァ イ ル に 加 え た 変 更 の 要 約 を 入 力 す る よ う に 促 し ま す 。
RCS デ ィ レ ク ト リ に あ る フ ァ イ ル は RCS フ ァ イ ル と 呼 ば れ 、 そ れ 以 外 の フ ァ イ ル は ワ ー ク フ ァ イ ル と 呼 ば れ ま す 。 先 の 例 で 挙 げ た ワ ー ク フ ァ イ ル f.c を 取 り 戻 す に は co (チ ェ ッ ク ア ウ ト ) コ マ ン ド を 実 行 し ま す 。
co f.c こ の コ マ ン ド は RCS フ ァ イ ル 中 の 最 新 の リ ビ ジ ョ ン を 取 り 出 し て フ ァ イ ル f.c に 書 き 出 し ま す 。 も し 、 f.c に 変 更 を 加 え た け れ ば 、 次 の コ マ ン ド を 使 っ て チ ェ ッ ク ア ウ ト し ロ ッ ク し な け れ ば い け ま せ ん 。
co −l f.c こ れ で f.c を 編 集 す る こ と が で き ま す 。 あ る 程 度 編 集 し た と こ ろ で 、 ど の よ う な 変 更 を 加 え た か 知 り た く な る と き が あ り ま す 。 こ の 場 合 は 、 以 下 の コ マ ン ド を 実 行 し ま す 。
rcsdiff f.c こ の コ マ ン ド は 、 最 後 に チ ェ ッ ク イ ン し た リ ビ ジ ョ ン と ワ ー ク フ ァ イ ル の 違 い を 表 示 し ま す 。 編 集 が 終 わ っ た ら 、 以 下 の コ マ ン ド に よ り 、 も う 一 度 チ ェ ッ ク イ ン す る こ と が で き ま す 。
ci f.c こ れ に よ り 、 リ ビ ジ ョ ン 番 号 が 自 動 的 に 付 け 直 さ れ ま す 。 も し ci が
ci error: no lock set by your name と い う エ ラ ー メ ッ セ ー ジ を 出 力 し た な ら 、 そ れ は 、 ロ ッ ク せ ず に チ ェ ッ ク ア ウ ト し た フ ァ イ ル を チ ェ ッ ク イ ン し よ う と し た か ら で す 。 も ち ろ ん 、 こ こ で ロ ッ ク し チ ェ ッ ク ア ウ ト し 直 す の で は 遅 す ぎ ま す 。 こ こ で チ ェ ッ ク ア ウ ト す る と 、 あ な た が 行 っ た 編 集 は 上 書 き さ れ て 失 わ れ て し ま う か ら で す 。 か わ り に 、 以 下 の コ マ ン ド を 実 行 し ま す 。
rcs −l f.c こ れ は 、 ほ か に 誰 も ロ ッ ク し て い な け れ ば 、 最 新 の リ ビ ジ ョ ン を ロ ッ ク し ま す 。 も し 、 す で に 誰 か が ロ ッ ク し て し ま っ て い た な ら 、 そ の 人 と 相 談 し な け れ ば な り ま せ ん 。 ロ ッ ク す る こ と に よ り 、 あ な た だ け が フ ァ イ ル を 更 新 (チ ェ ッ ク イ ン ) で き る よ う に な り 、 同 時 に 複 数 の 人 が 同 じ フ ァ イ ル を 編 集 す る 際 の 厄 介 な 問 題 を 回 避 す る こ と が で き ま す 。 た と え リ ビ ジ ョ ン が ロ ッ ク さ れ て い て も 、 そ の フ ァ イ ル を チ ェ ッ ク ア ウ ト し て 内 容 を 見 た り 、 コ ン パ イ ル す る こ と は 可 能 で す 。 ロ ッ ク 機 構 は 、 ロ ッ ク し た 人 以 外 が チ ェ ッ ク イ ン で き な い よ う に す る だ け で す 。 も し 扱 う RCS フ ァ イ ル が 個 人 的 な も の 、 す な わ ち そ の フ ァ イ ル に 対 し て 新 し い リ ビ ジ ョ ン を チ ェ ッ ク イ ン す る の が あ な た だ け で あ る 場 合 、 厳 格 な ロ ッ ク 機 構 は 必 要 な い で し ょ う 。 厳 格 な ロ ッ ク 機 構 は オ フ に す る こ と も で き ま す 。 も し 厳 格 な ロ ッ ク モ ー ド が オ フ に な っ て い る な ら 、 RCS フ ァ イ ル の 所 有 者 は ロ ッ ク し て い な い フ ァ イ ル を チ ェ ッ ク イ ン す る こ と が で き ま す (そ れ 以 外 の 人 は ロ ッ ク が 必 要 で す )。 厳 格 な ロ ッ ク モ ー ド の オ ン と オ フ は 、 そ れ ぞ れ 以 下 の コ マ ン ド に よ り 行 い ま す 。
rcs −L f.c 及 び rcs −U f.c も し ワ ー ク デ ィ レ ク ト リ に RCS フ ァ イ ル を ま き 散 ら し た く な い な ら 、 RCS と い う 名 前 の デ ィ レ ク ト リ を 作 成 し 、 RCS フ ァ イ ル を す べ て そ の 下 に 移 動 し ま す 。 RCS コ マ ン ド は RCS フ ァ イ ル を 探 す と き 、 ま ず 、 RCS デ ィ レ ク ト リ を 検 索 し ま す 。 こ の 場 合 も 、 こ れ ま で に 述 べ て き た コ マ ン ド は 引 数 を い っ さ い 変 更 せ ず に 実 行 で き ま す (実 際 は RCS に RCS フ ァ イ ル と ワ ー ク フ ァ イ ル の 対 を 指 示 す る 方 法 は 3 通 り あ り ま す : (a) 両 方 を 指 定 す る 、 (b) ワ ー ク フ ァ イ ル の み を 指 定 す る 、 (c) RCS フ ァ イ ル の み を 指 定 す る 。 RCS フ ァ イ ル と ワ ー ク フ ァ イ ル は 自 由 な パ ス に 置 く こ と が で き ま す が 、 RCS コ マ ン ド は フ ァ イ ル の 対 を イ ン テ リ ジ ェ ン ト に 探 し ま す )。 チ ェ ッ ク イ ン し た と き に ワ ー ク フ ァ イ ル が 削 除 さ れ な い よ う に す る (編 集 を 続 け た り 、 コ ン パ イ ル し た り す る 場 合 )に は 以 下 の コ マ ン ド を 使 い ま す 。
ci −l f.c あ る い は ci −u f.c こ れ ら の コ マ ン ド は 通 常 ど お り f.c を チ ェ ッ ク イ ン し ま す 。 し か し 、 自 動 的 に チ ェ ッ ク ア ウ ト も 行 い ま す 。 最 初 の 例 で は ロ ッ ク を 行 い 、 2 番 目 の 例 で は ロ ッ ク を 行 い ま せ ん 。 こ の よ う に す れ ば チ ェ ッ ク ア ウ ト 操 作 を 1 回 省 け ま す 。 最 初 の 例 は 編 集 を 続 け る 場 合 に 、 2 番 目 の 例 は 単 に フ ァ イ ル を 読 み た か っ た り コ ン パ イ ル し た り す る 場 合 に 便 利 で す 。 ど ち ら の 場 合 も 、 ワ ー ク フ ァ イ ル 中 の 識 別 用 マ ー カ (後 述 )が 更 新 さ れ ま す 。
ci に チ ェ ッ ク イ ン す る リ ビ ジ ョ ン の 番 号 を 指 定 す る こ と が で き ま す 。 そ れ ま で の リ ビ ジ ョ ン が 1.1、 1.2、 1.3... だ っ た と き に 、 以 下 の コ マ ン ド に よ り リ リ ー ス 2 を 開 始 す る こ と が で き ま す 。
ci −r2 f.c あ る い は ci −r2.1 f.c こ れ に よ り 、 新 し い リ ビ ジ ョ ン に は 番 号 2.1 が つ け ら れ ま す 。 以 降 、 ci は こ の フ ァ イ ル の 新 し い リ ビ ジ ョ ン に 2.2、 2.3...と 番 号 を つ け て い き ま す 。 対 応 し た 以 下 の co コ マ ン ド
co −r2 f.c 及 び co −r2.1 f.c は 、 リ ビ ジ ョ ン 番 号 が 2.x で あ る 最 新 の リ ビ ジ ョ ン 、 リ ビ ジ ョ ン 2.1 を そ れ ぞ れ チ ェ ッ ク ア ウ ト し ま す 。 co に リ ビ ジ ョ ン 番 号 を 指 定 し な い 場 合 、 幹 (trunk)の 上 の 最 新 の リ ビ ジ ョ ン (す な わ ち 、 x.x の 形 式 で 最 大 の リ ビ ジ ョ ン 番 号 を 持 つ リ ビ ジ ョ ン )が チ ェ ッ ク ア ウ ト さ れ ま す 。 リ ビ ジ ョ ン の 枝 (branch)を 用 い る た め に は 3 つ 以 上 の 番 号 が 必 要 に な り ま す 。 た と え ば 、 1.3 か ら 枝 を 作 成 す る に は 、 以 下 の コ マ ン ド を 実 行 し ま す 。
ci −r1.3.1 f.c こ れ に よ り 、 リ ビ ジ ョ ン 1.3 上 に 番 号 1 の 枝 を 作 成 し 、 枝 上 の 最 新 リ ビ ジ ョ ン と し て 1.3.1.1 を 割 り 当 て ま す 。 枝 の 詳 細 に つ い て は rcsfile(5) を 参 照 し て く だ さ い 。 自 動 識 別
RCS は 、 リ ビ ジ ョ ン の 識 別 の た め に 特 別 な 文 字 列 を ソ ー ス や オ ブ ジ ェ ク ト コ ー ド に 埋 め 込 む こ と が で き ま す 。 リ ビ ジ ョ ン の 識 別 を 行 う た め に は 、 以 下 の 文 字 列 (マ ー ク )
$Id$ を コ メ ン ト な ど の テ キ ス ト 部 分 に 書 き ま す 。 RCS は 、 こ の マ ー ク を 次 の 形 式 の 文 字 列 に 置 換 し ま す 。
$Id: フ ァ イ ル 名 リ ビ ジ ョ ン 日 付 時 刻 作 者 状 態 $ こ の よ う な マ ー ク を モ ジ ュ ー ル の ソ ー ス コ ー ド の 1 ペ ー ジ 目 に 置 く こ と に よ り 、 編 集 し て い る フ ァ イ ル の リ ビ ジ ョ ン を す ぐ に 判 断 す る こ と が で き ま す 。 RCS は マ ー ク の 更 新 を 自 動 的 に 行 い ま す 。 マ ー ク を オ ブ ジ ェ ク ト コ ー ド に 組 み 込 む に は 、 そ れ を リ テ ラ ル な 文 字 列 中 に 含 め ま す 。 C 言 語 で は 、 以 下 の よ う に し ま す 。
static char rcsid[] = "$Id$";
ident コ マ ン ド は 、 オ ブ ジ ェ ク ト フ ァ イ ル や ダ ン プ 出 力 か ら も マ ー ク を 探 し 表 示 す る こ と が で き ま す 。 従 っ て ident コ マ ン ド を 用 い る こ と に よ り 、 あ る プ ロ グ ラ ム が ど の モ ジ ュ ー ル の ど の リ ビ ジ ョ ン に よ っ て 作 成 さ れ た か を 知 る こ と が で き ま す 。 マ ー ク $Log$ を テ キ ス ト や コ メ ン ト 内 に 含 め る こ と も 有 用 か も し れ ま せ ん 。 こ の マ ー ク は チ ェ ッ ク イ ン の と き に 要 求 さ れ た ロ グ を 蓄 え て い き ま す 。 こ れ に よ り 、 変 更 の 履 歴 を 直 接 、 フ ァ イ ル に 記 録 す る こ と が で き ま す 。 RCS に は ほ か に も い く つ か の マ ー ク が あ り ま す 。 詳 し く は co(1) を 参 照 し て く だ さ い 。
作 者
Author: Walter
F. Tichy.
Manual Page Revision: 1.5; Release Date: 1999/08/27.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993 Paul Eggert.
関 連 項 目
ci(1), co(1),
ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1),
rlog(1)
Walter F. Tichy, RCS --A System for Version
Control, Software--Practice & Experience
15, 7 (July 1985), 637-654.