=begin
= deepconv cvsroot 管理の手引き
* 小高正嗣, 杉山耕一朗
* 2006/01/05 (小高正嗣) 最終更新
# * 2005/11/09 (小高正嗣) 最終更新
# * 2005/06/14 (小高正嗣) 最終更新
# * 2005/06/10 (小高正嗣) 最終更新
# * 2005/06/07 (小高正嗣) 最終更新, rd 化
# * 2005/02/02 (小高正嗣) コミットメールに関する設定を追加
# * 2004/08/17 (杉山耕一朗)
* 2002/11/27 (小高正嗣) 新規作成
=end
=begin HTML
=end HTML
=begin
この文書は deepconv cvsroot 管理の手引である. 作業を行う際には基本的な管理方針
をまとめた(())を必ず参照すること.
* ((<ディレクトリ構成>))
* ((<最初の作業>))
* ((<コミットメールの設定>))
* ((<コミットメッセージの漢字コード設定>))
* (())
* (())
* ((<参考文献>))
== ディレクトリ構成
cvsroot cvs リポジトリディレクトリ
src ソースコード. cvs より作成される.
== 最初の作業
* cvs リポジトリの作成. 作業は deepconv ユーザにて行う.
$ cd /GFD_Dennou_Club/ftp/arch/cc-env/deepconv
$ sudo -s -u deepconv
$ mkdir cvsroot
$ cvs -d /GFD_Dennou_Club/ftp/arch/cc-env/deepconv/cvsroot init
* cvs に登録
$ export CVSROOT=/GFD_Dennou_Club/ftp/arch/deepconv/cvsroot
$ export CVSEDITOR="emacs -nw"
$ cd arare/arare0
$ cvs import -m "the deepconv/arare ver.0 project starts" arare0 deepconv start
== コミットメールの設定
cvs ci を行った際に登録者にメールが届くよう設定を行う.
* まず cvsroot そのものをローカルの環境にチェックアウトする.
$ export CVSROOT=:ext:dennou-k:/GFD_Dennou_Club/ftp/arch/deepconv/cvsroot
$ export CVS_RSH=ssh
$ mkdir cvsroot
$ cd cvsroot
$ cvs co CVSROOT
$ cd CVSROOT
* ((<"http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-commitmail.html"|URL:http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-commitmail.html>))
より, 森川さん作成のフィルタースクリプト cvsform.pl をダウンロードする.
* cvsform.pl を編集する. 先頭付近を
$mailto0 = 'deepconv(at)gfd-dennou.org';
$project = 'arare';
とする.
* レポジトリにコミットする.
$ cvs add cvsform.pl
$ cvs commit -m "Format Messages of commit mail." cvsform.pl
* checkoutlist に
cvsform.pl unable to check out / update cvsform.pl in CVSROOT
と加筆し, コミットする.
$ cvs ci -m "Add cvsform.pl" checkoutlist
* loginfo の編集
loginfo に
arare2 perl $CVSROOT/CVSROOT/cvsform.pl deepconv(at)gfd-dennou.org %{sVv}
を加筆し, コミットする.
$ cvs ci -m "Add cvsform.pl" loginfo
== コミットメッセージの漢字コード設定
コミットメッセージの漢字コードを設定する. ここではコミットメッセー
ジとして euc のみ受け付けるようにする.
* ((<"http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-eucmsg.html"|URL:http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-eucmsg.html>))
より, 森川さん作成のフィルタースクリプト msgchecker.pl をダウン
ロードし, CVSROOT にコミットする.
$ cd cvsroot/CVSROOT
$ cvs add msgchecker.pl
$ cvs commit -m "log message code checker." msgchecker.pl
* checkoutlist に
msgchecker.pl unable to check out / update msgchecker.pl in CVSROOT
と加筆し, コミットする.
$ cvs ci -m "Add msgchecker.pl" checkoutlist
* verifymsg にフィルターを設定する. 以下の 2 行を verifymsg に追加する.
arare2 perl $CVSROOT/CVSROOT/msgchecker.pl euc %l
CVSROOT perl $CVSROOT/CVSROOT/msgchecker.pl euc %l
DEFAULT perl $CVSROOT/CVSROOT/msgchecker.pl ASCII %l
追加した後コミットする.
$ cvs ci -m "Add msgchecker.pl" verifymsg
== euc ファイルのみを登録する設定
日本語の文字コードが euc に設定されたファイルのみコミットを受け付けるよう
設定する.
* ((<"http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-eucfile.html"|URL:http://www.gfd-dennou.org/arch/cc-env/cvs/customize/cvs-eucfile.html>))
より, 森川さん作成のフィルタースクリプト kanjichecker.pl をダウン
ロードし, CVSROOT にコミットする.
$ cd cvsroot/CVSROOT
$ cvs add kanjichecker.pl
$ cvs commit -m "commit file message code checker." kanjichecker.pl
* checkoutlist に
kanjichecker.pl unable to check out / update kanjichecker.pl in CVSROOT
と加筆し, コミットする.
$ cvs ci -m "Add kanjichecker.pl" checkoutlist
* commitinfo にフィルターを設定する. 以下の 2 行を commitinfo に追加する.
arare2 perl $CVSROOT/CVSROOT/kanjichecker.pl euc %r/%p %s
CVSROOT perl $CVSROOT/CVSROOT/kanjichecker.pl euc %r/%p %s
DEFAULT perl $CVSROOT/CVSROOT/kanjichecker.pl ASCII %r/%p %s
追加した後コミットする.
$ cvs ci -m "Add kanjichecker.pl" commitinfo
== config の設定
コミット時に以下のような警告メッセージが表示されるので, config を修正する.
cvs commit: warning: Set to use deprecated info format strings. Establish
compatibility with the new info file format strings (add a temporary '1' in
all info files after each '%' which doesn't represent a literal percent)
and set UseNewInfoFmtStrings=yes in CVSROOT/config. After that, convert
individual command lines and scripts to handle the new format at your
leisure.
config に以下の行を追加する.
UseNewInfoFmtStrings=yes
== 参考文献
* 石渡正樹, 森川靖大, 塚原大輔, 2004:「CVS に関するメモ」,
((<"http://www.gfd-dennou.org/arch/cc-env/cvs/"|URL:http://www.gfd-dennou.org/arch/cc-env/cvs/>))
* Takuya NISHIMOTO,「バージョン管理システム CVS を使う」
((<"http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs.html"|URL:http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs.html>))
* cvs 付属ドキュメント
((<"/usr/doc/cvs/html-info/"|URL:/usr/doc/cvs/html-info/>))
* Karl Fogel 著, でびあんぐる 監訳, 竹内里佳 訳
「CVS - バージョン管理システム」, オーム社
* ((<"CVS--Concurrent Versions System v1.12.12"|URL:http://ximbiot.com/cvs/manual/cvs-1.12.12/>))
* ((<"C. Reference manual for Administrative files"|URL:http://ximbiot.com/cvs/manual/cvs-1.12.12/cvs_18.html#SEC184>))
=end