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

名称

       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 は削除されます。また、 cif.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

       これにより、リビジョン番号が自動的に付け直されます。

       もし cici 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.