具体的には、開発しているソフトウェアをリリースする際や大幅な変更を 加える直前にタグ付けをしておくのが一般的です。
けじめが必要な箇所ではタグをつけましょう、ということですね。
タグ付けは図で書いた方がわかりやすいですね。バージョンが順番に 新しくなっていくのなら以下のように、一本線になります。
[INITIAL] --> [VERSION_1_0] --> [VERSION_1_1] -->上記のようにタグ付けされている状態で、checkoutしたときに取り出されるの は、最新のもの(一番右の矢印の右側にあるバージョン)になります。タグを指 定してcheckoutすればそのタグがついた時点の内容が取り出せます。updateす れば、そのタグがついた時点の内容に追従できます。しかし、この状態では取 り出した内容は編集できません。
タグ付けをするには二つの方法があります。
同じく図で書くなら、以下のような構成ができます。
[INITIAL] --> [VERSION_1_0] --> [VERSION_1_1] --> \ \ [BRANCH_2_0] --> [VERSION_2_0] --> [VERSION_2_1] -->上記の例の場合、VERSION_1_0を作った後、それを元にBRANCH_2_0という ブランチを作成します。このブランチではversion 2用の作業を行います(多分)。 以降このブランチではVERSION_2_0, VERSION_2_1と開発がすすみます。
ブランチを作成する方法も二つあります。
[INITIAL] --> [VERSION_1_0] --> [VERSION_1_1] --> \ \ [BRANCH_2_0] --> [VERSION_2_0] --> [VERSION_2_1] -->
まずモジュールを登録します。 % cvs import Module vender INITIAL .... 別のところではモジュールを取り出します。 % cvs co Module % cd Module さて、編集。編集。 編集した結果にVERSION_1_0というタグを付けます。 % cvs tag VERSION_1_0 同じ内容からBRANCH_2_0というブランチを作成します。 % cvs tab -b BRANCH_2_0 このあとversion1の作業をする人は、moduleを取り出して作業をします。 % cvs co Module 編集 編集 編集した結果にVERSION_1_1というタグをつけます % cvs tag VERSION_1_1 編集 編集 上記とは並行して、version2の作業をする人はタグ名を指定して モジュールを取り出します。 % cvs co -t BRANCH_2_0 編集 編集 編集した結果にVERSION_2_0というタグを付けます。 % cvs tag VERSION_2_0 編集 編集 さらに編集した結果にVERSION_2_1というタグを付けます。 % cvs tag VERSION_2_1
% cvs export Moduleexportの挙動はcheckoutをほとんど同じです。違うのはCVSディレクトリが 作成されないことです。パッケージ作成の常套句としてはこんな感じでしょう。
% cvs export -t RELEASE_2_0_0 Module % mv Module Module-2.0.0 % tar zcf Module-2.0.0.tar.gz Module