CVS ツリー構造

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 付録 F. CVS リポジトリ | 早送り | 次のページ

# F.2. CVS ツリー構造

> 著者: 1998-11-05 Marc G. Fournier (`<scrappy@hub.org>`) により 書かれました。

`cvs checkout` コマンドには `-r` という フラグがあり、特定の改訂版モジュールのチェックアウトを可能にします。 例えば将来いかなる場合において、モジュール「tc」のリリース 6_4 を構成 しているソースを抽出する時にこのフラグは作業を簡単にします。

    $ cvs checkout -r REL6_4 tc

例えば、誰かがそのリリースにあるバグを報告してきたけれど、 現在作業しているファイルにそのバグがみつからない時に有効です。

> ティップ: また、`-D` オプションを使用して特定の日にちのモジュールを チェックアウトすることができます。

1 つ以上のファイルに対して同じタグを使用する場合、そのタグは "ファイル名対改訂版番号のマトリックスに引かれた曲線" と考えることができます。例えば、5 つのファイルがあり、それぞれに 下記の改訂版があるとします。

                 file1   file2   file3   file4   file5

                 1.1     1.1     1.1     1.1  /--1.1*      <-*-  TAG
                 1.2*-   1.2     1.2    -1.2*-
                 1.3  \- 1.3*-   1.3   / 1.3
                 1.4          \  1.4  /  1.4
                               \-1.5*-   1.5
                                 1.6

この例で、タグ `TAG` は file1-1.2、file2-1.3 などを 参照します。

> 注意: リリースブランチを作成する際も、コマンドに`-b`オプションを 追加する以外は同じ方法で作成できます。

と言うことで、6.4 リリースはこのようにして作成されました。

    $ cd pgsql
    $ cvs tag -b REL6_4

このようにすればタグと RELEASE ツリーのためのブランチが作成されます。

CVS によるアクセスによって、異なったバージョン ごとのディレクトリを作成することは簡単です。まず新しいものと古いものが 混ざらないように、RELEASE と CURRENT という 2 つのサブディレクトリを作成 します。作成したら、次のコマンドを実行します。

    cd RELEASE
    cvs checkout -P -r REL6_4 pgsql
    cd ../CURRENT
    cvs checkout -P pgsql

上記のコマンドを実行すると `RELEASE/pgsql` と `CURRENT/pgsql` の 2 つのディレクトリツリーが 作成されます。これ以降、CVS がどのリポジトリ ブランチがどこのディレクトリツリーにあるかを管理し、それぞれのツリーに対し 独自の更新が可能となります。

もし `CURRENT` ソースツリーだけで 作業を行っているのであれば、作業はリリースブランチにタグを付ける前と同じ です。

次のようにして最初のチェックアウトを行います。

    $ cvs checkout -r REL6_4

このディレクトリ構造内で何を行うとも、更新はそのブランチ内のみに制限されます。 もしそのディレクトリ構造にパッチをあて、そして次のようにしたとします。

    cvs commit

すると内部ではパッチがそのブランチに適用され、 またそのブランチのみの適用となります。

前のページ | ホーム | 次のページ
CVS リポジトリ | 上に戻る | CVSup を使ったソースの入手