CVSのフック・プログラムを使ったコミット・メールの送信までをご紹介します。
すでに、出回っているのでかなりの人が知っているのではないでしょうか。
1.メール送信スクリプト(mailto-committers.pl )とjcode私的な解説書 からjcode.plをダウンロードします。
※前者は拡張子が.pl.txtになっているので、「.txt」取り除いてください。
2.適当なディレクトリにCVSROOTをチェックアウトします。
例えばこんな感じ
cd /var/tmp
cvs co CVSROOT
cd CVSROOT
3.1のスクリプトをチェックアウトしたCVSROOT直下に配備します。
chmod a+x mailto-committers.pl
4.CVSROOTの『loginf』を修正します。
テスト用のモジュール(CSVTEST)を用意しました。こんな感じになります。jcode.plをCVSROOT配下に格納するので、perlのライブラリパスの設定を追加しました(-Iの箇所です)。
^CVSTEST perl -I$CVSROOT/CVSROOT $CVSROOT/CVSROOT/mailto-committers.pl "%{sVv}" $USER %r/%p 相手メアド
^CVSROOT perl -I$CVSROOT/CVSROOT $CVSROOT/CVSROOT/mailto-committers.pl "%{sVv}" $USER %r/%p 相手メアド
DEFAULT perl -I$CVSROOT/CVSROOT $CVSROOT/CVSROOT/mailto-committers.pl "%{sVv}" $USER %r/%p 相手メアド
※%sはファイル、%Vは前のリビジョン(新規の場合は空)、%vは更新後のリビジョン、%rはリポジトリの上位パス、%pはモジュール名と思ってください。
5.CVSROOTに修正を反映させるために『checkoutlist』を修正します。
基本はCVSROOTに格納されるファイル名を記述します。
mailto-committers.pl
jcode.pl
のようになります。
修正が終わったらチェックインします。
cvs commit -m "-*- 何かコメント -*-" mailto-committers.pl jcode.pl
6.新規ファイルをCVSROOTに追加する。
cvs add mailto-committers.pl jcode.pl
cvs commit -m "-*- 何かコメント -*-" mailto-committers.pl jcode.pl
7.cvsの1.12.13ではこのスクリプトをそのままでは使用できません。
私なりに修正した版をアップしておきます。「mailto-committers.pl」をダウンロード
8.後は自分の環境としてはqmailを起動しておきます。
すみません。今日は眠くなりました。続きはまた明日(今日か、もう。。。)
CVSの次はSubversionを狙っています。