rcsintro(1) FreeBSD 一般コマンドマニュアル

rcsintro

前のページ 上に戻る 次のページ

rcsintro



解説

       RCS (Revision Control System) は、ファイルのリビジョンを複
       数管理します。 RCS は格納、取り出し、ログ、識別、リビ ジョ
       ンの併合を自動化します。RCS は頻繁に更新されるテキスト、た
       とえば、プログラム、ドキュメント、グラフィックス、論文、定
       型手紙等を扱うのに便利です。

       基 本 的なユーザインタフェースはとても単純です。初心者は 2
       つのコマンド、 ci(1)co(1) を覚えるだけで使用できます。
       ci  はチェックイン "check in" を省略した名前です。これは、
       ファイルの内容を「RCS ファイル」と呼ばれる記録用のファイル
       に 格納します。 RCS ファイルは、特定ファイルの全リビジョン
       を含んでいます。 co はチェックアウト"check out" を省略した
       名 前 です。これは、RCS ファイルからリビジョンを取り出しま
       す。

   RCS B>のB>機B>能
       o      テキストの複数のリビジョンの保存と取り出しを行い ま
              す。RCS  はすべての古いリビジョンを効率的な方法で保
              存します。ファイルを変更しても元のリビジョンが失 な
              わ れることはなく、いずれも取り出すことが可能です。
              リビジョンは、リビジョン番号、シンボル名、日付、 作
              者、状態を指定して取り出せます。

       o      完 全な変更の履歴を管理します。RCS は、すべての変更
              点を自動的に記録します。各リビジョンの内容 と と も
              に、 作者、チェックインした日時、変更点を要約したロ
              グメッセージが記録されます。ログによって、どのよ う
              な 変更が行われたのかがひと目でわかります。ソースリ
              ストを見比べたり、一緒に作業しているプログラマに た
              ずねたりする必要はありません。

       o      ア ク セ ス矛盾を解決します。複数のプログラマがある
              ファイルの同じリビジョンに対して変更を加えようと し
              た場合、 RCS は警告を発し、他者が行った変更を台無し
              にしてしまうのを防ぎます。

       o      リビジョンの木を管理します。RCS はモジュールごと に
              独立した開発ラインを管理できます。 RCS は、リビジョ
              ンの系図を表現した木を保存します。

       o      リビジョンを併合し、矛盾を解決します。あるモジュ ー
              ルの 2 つのリビジョンを併合することができます。併合
              しようとする 2 つのリビジョンが、あるコードの同じ部
              分 に対する変更を含んでいた場合、RCS は変更が重複し
              ていると警告します。

       o      リリースと構成を管理します。リビジョンにはシンボ ル
              名 を つ け る こ と が で きます。また、「リリース
              版(released)」、 「安  定  版(stable)」、  「実  験
              版(experimental)」 といった状態をつけることもできま
              す。これにより、単純かつ直接的にモジュールの構成 を

   RCS B>事B>始B>め
       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 ファイルが個人的なもの、すなわちそのファイル
       に対して新しいリビジョンをチェックインするのがあなただけで
       ある場合、厳格なロック機構は必要ないでしょう。厳格なロック
       機構はオフにすることもできます。もし厳格なロックモードがオ
       フ になっているなら、 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 がつけられます。

       これにより、リビジョン 1.3 上に番号 1 の枝を作成し、枝上の
       最新リビジョンとして 1.3.1.1 を割り当てます。枝の詳細に つ
       いては rcsfile(5) を参照してください。

   B>自B>動B>識B>別
       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 (C) 1982, 1988, 1989 Walter F. Tichy.
       Copyright (C) 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.



GNU                         1999/08/27                RCSINTRO(1)

ABELNET VPSサービス