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

参考文献