作者: Marc G. Fournier (<scrappy@hub.org>) 1998-11-05
cvs checkout コマンドには-rとい うフラグがあり、特定リビジョンのモジュールの改訂版をチェックアウト が可能となります。これは大変便利なもので、例えばリリース 6_4のモジュー ル`tc'を将来入手したい場合は
$ cvs checkout -r REL6_4 tcとすれば指定したものを入手することができます。 例えば誰かがそのリリースバージョンでのバグレポートを行い、しかし現 在の作業用ディレクトリにそのバグがみつからない場合に大変便利です。
Tip: また、-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などを参照します。
Note: リリースブランチを作成する際も、コマンドに-bオプションを追加する 以外は同じ方法で作成できます。
そこで、6.4 リリースを作成したとき、私は以下のようにしました。
$ cd pgsql $ cvs tag -b REL6_4このようにすればタグとリリースツリーのためのブランチが作成されます。
CVS を使えば、違うバージョンごとに ディレクトリを作成することが可能です。まず新しいものと古いものが 混ざらないように、RELEASEとCURRENTという2つのサブディレクトリを作成します。
cd RELEASE cvs checkout -P -r REL6_4 pgsql cd ../CURRENT cvs checkout -P pgsql上記のコマンドを実行するとRELEASE/pgsql と CURRENT/pgsqlが作成されます。これ以降、CVS がどのリポジトリブランチがどこのディレクトリツリーにあるかを管理し、 各々独自の更新が可能となります。
もしCURRENT だけ で作業を行っているのならば、 作業方法はリリースブランチにタグを付ける前となんら変わりありません。
ブランチの最初のチェックアウトを行うために下記のコマンドを実行したら、
$ cvs checkout -r REL6_4このディレクトリ構造内で行ったことすべてはそのブランチ内でのみ有効となります。 もしそのディレクトリ構造内でパッチをあて、それから
cvs commitを行うと、そのブランチのみにパッチが適用されます。