作者: Written by Marc G. Fournier (<scrappy@hub.org>) on 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を行うと、そのブランチのみにパッチが適用されます。