deepconv cvsroot 管理の手引き
- 小高正嗣, 杉山耕一朗
- 2006/01/05 (小高正嗣) 最終更新
- 2002/11/27 (小高正嗣) 新規作成
この文書は deepconv cvsroot 管理の手引である. 作業を行う際には基本的な管理方針 をまとめたdcmodel プロジェクトレポジトリ作成メモを必ず参照すること.
ディレクトリ構成
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 より, 森川さん作成のフィルタースクリプト 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 より, 森川さん作成のフィルタースクリプト 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 より, 森川さん作成のフィルタースクリプト 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/
- Takuya NISHIMOTO,「バージョン管理システム CVS を使う」 http://www-vox.dj.kit.ac.jp/nishi/cvs/cvs.html
- cvs 付属ドキュメント /usr/doc/cvs/html-info/
- Karl Fogel 著, でびあんぐる 監訳, 竹内里佳 訳 「CVS - バージョン管理システム」, オーム社
- CVS--Concurrent Versions System v1.12.12
- C. Reference manual for Administrative files