モデルプロジェクト CVS タグ付けの手引き

概要

以下は dcmodel 群での CVS 管理におけるタグ付け について記すものである.

CVS「タグ」に関しては CVS に関するメモCVS の使い方 − 便利編 を参照のこと

CVS タグ付けのルール

ソースツリーのタグは, 日付タグを必ず付ける.

日付タグの形式:

(CVS のプロジェクト名)-(年月日: 区切り文字なし)[-(サフィックス番号: かぶる場合のみ)]

凡例:

arare4-20070211
gt4f90io-20080522
gt4f90io-20080522-1
dcpam4-20070301
dcpam4-20070727-1
dcpam4-20070727-2

サフィックスにハイフン "-" をつける理由は以下の通り. (今のところ, あまり強い理由は無い).

  • debian 正規のパッケージになっているソフトウェアには, 上記のように (日付)-(数字) のものがいくつかある.
  • プラス "+" などよりもハイフン "-" の方がファイル名, ディレクトリ名 として比較的一般的.
  • dcpam4-20070727a, dcpam4-20070727b など, アルファベットを 使用する例もあるが, タグ同士の大小比較アルゴリズムは数字の方が楽. (もちろん a と b との比較も容易に可能だが, 数字の比較と別途 行う必要がある).

ソースコード, TGZ の展開方法

日付タグで展開し, その日付タグをそのままディレクトリ名, および tgz のファイル名にする.

日付タグ             ディレクトリ名       tgz のファイル名
-----------------------------------------------------------------
arare4-20070211      arare4-20070211      arare4-20070211.tgz
gt4f90io-20080522    gt4f90io-20080522    gt4f90io-20080522.tgz
gt4f90io-20080522-1  gt4f90io-20080522-1  gt4f90io-20080522-1.tgz
dcpam4-20070301      dcpam4-20070301      dcpam4-20070301.tgz
dcpam4-20070727-1    dcpam4-20070727-1    dcpam4-20070727-1.tgz
dcpam4-20070727-2    dcpam4-20070727-2    dcpam4-20070727-2.tgz

1.1 などのバージョン名をつけたくなった場合.

dcpam2 バージョン 1.1 などと呼びたくなる場合には, その対応表を Web のページ上でシンボリックリンクを張るなどして対応付ける.

実体                シンボリックリンク
---------------------------------------------------
dcpam0-20040125
dcpam1-20040320     dcpam1-0.1         (公開版)
dcpam1-20040429
dcpam1-20040630     dcpam1-1.0         (公開版)
dcpam2-20040901     dcpam2-1.0         (公開版)
dcpam2-20040901-1   dcpam2-1.1         (公開版)
dcpam2-20050304     dcpam2-2.0         (公開版)

CVS タグに関する制限 (補足)

CVS タグに "$", ",", ".", ":", ";", "@" といった文字は使用できない.

無理に設定しようとすると, cvs [tag aborted]: tag `dcpam2-1.0' must not contain the characters `$,.:;@' とエラーが生じる.