モデルプロジェクトレポジトリ作成メモ

前提

管理方針

CVS リポジトリ作成

ここでは www.gfd-dennou.org の /GFD_Dennou_Club/ftp/arch/PROJECT/ 以下に レポジトリを作成する場合を例にとる.

グループ書き込み許可の設定

上記の umask 設定に加え, s ビットを立てるなどのパーミッションの設定が 必要となる. また cvs init コマンドで作成したディレクトリやファイルの中 にはグループ書き込み権限が無いものもあるので, 以下のように再設定する.

プロジェクトの開始

プロジェクトのパーミッションの確認

コミット時に PROJECT ユーザにメールを送信するための設定

バイナリデータの扱い

CVS は $Revision$ などというような特殊な文字列を $Revision: 1.3 $ のよ うに置き換えたり, 改行コードを LF 形式に置き換えたりするようになってい る.

これは便利な機能の1つなのだが, バイナリデータなどで偶然こういった文字 列と認識されて置き換えられると, 結果的にデータが壊れてしまう. そのため, ある拡張子のデータに関してはバイナリデータと取り扱うようにする. これに は CVSROOT 以下のcvswrappers に以下のような記述を加えると良い.

こうすることで, 拡張子が gif, GIF, jpg のものに関してはバイナリデータ と扱われ, 文字列の置換が行なわれなくなる(これは開発者個々人が cvs add する際に -kb オプションを付けるのと同じ効果を発揮する.)

ファイルの文字コードチェック

上記の管理方針で「日本語文字コードは EUC」としていたが, 各ユーザ の開発環境を完全に EUC にすることは難しいため, Shift-JIS などで commit されてしまう可能性がある. よって, EUC 以外の日本語文字コードを含むデー タは, commit されないように設定する. 改行コードは CVS の仕様で自動的に UNIX 形式 (LF 形式) に変換されるので, ここでは気にしないことにする.

ログメッセージの文字コードチェック

ログメッセージの日本語文字コードも上記の管理方針にしたがい EUC に設定する.

ファイルの文字コード変換

上記ポリシーで「日本語文字コードは EUC」としていたが, 各ユーザの開発環 境を完全に EUC にすることは難しい, よってテキストデータに関しては, 自 動的に EUC に置換するようにしてしまう.

※ 注意!!! ※
この方法を行なうためには CVSROOT/cvswrappers にて -t/-f といった
フィルタオプションが有効である必要があるのだが, バージョン 1.10
以降, このオプションは使用できなくなっている (いくつかのバグが
あったため, とりあえず使用できなくしたらしい). よって以降の
手引きは, -t/-f オプションが利用できるようになった際に行なって
欲しい... (T_T)

そこらへんの事情に関しては
((<URL:https://www.cvshome.org/docs/infowrapper.html>))
を参照のこと.

なお, この方法に関しては
((<URL:http://www.mikamama.com/CVSBook/draft2nd/sec6-5.html>))
を参照した.

参考資料