tracの初期設定と使い方
たまにtracのwikiから飛んでくる人が居るので詳しく書いてみる。
※Debianの場合です
# trac設定 apt-get install python-japanese-codecs apt-get install trac # /var/local/trac 以下にプロジェクトを配置する場合の例 mkdir /var/local/trac cd /var/local/trac trac-admin projectName initenv
# apache設定 <VirtualHost *> DocumentRoot "/home/foo/public_html" # 関係ないので無くてもいいかも ServerName trac.example.com Alias /trac "/usr/share/trac/htdocs" <Location "/"> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir "/var/local/trac" PythonOption TracUriRoot "/" order deny,allow allow from all </Location> <LocationMatch "/[^/]+/login"> order deny,allow deny from all AuthType Basic AuthName "trac user" AuthUserFile /var/local/trac/.htpasswd Require valid-user </LocationMatch> <Directory "/var/local/trac"> order deny,allow allow from all <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> </Directory> </VirtualHost>
# ユーザの作成
htpasswd .htaccess userName
#!/bin/bash if [ -z $1 ] then echo echo "usage: ./anonymous_remove projectname" echo exit 1 fi trac-admin /var/local/trac/$1 permission remove anonymous BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIE REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW WIKI_CREATE WIKI_MODIFY MILESTONE_VIEW
# 日本語パッケージ作成 apt-get -u install trac/testing python-japanese-codecs python-docutils python2.3-clearsilver python2.3-setuptools enscript apt-get -u install build-essential fakeroot devscripts apt-get -u build-dep trac mkdir package cd package wget http://www.i-act.co.jp/project/products/downloads/trac-*-ja-1.zip apt-get source trac cd trac-* DEBFULLNAME='maintainer name' DEBEMAIL='maintainer@example.jp' uupdate ../trac-*-ja-1.zip *-ja-1 cd ../trac-*-ja-1 head debian/changelog dpkg-buildpackage -us -uc -b -rfakeroot cd .. dpkg -i trac_*-ja-1-1_all.deb
プロジェクトの設定
- trac-admin projectName initenv
- trac-admin projectName
- milestone list
- milestone remove で初期設定を削除
- milestone add でマイルストーンを作成
- milestone add "リリース1" 等
- 同様にversion remove、version add でバージョンを設定する
- version add 1、version add 0.1 等
- 同様にticket_type も不具合、機能追加、タスクなどを登録する
- 同様にcomponent も登録する(分類が不要ならcoreとでも登録しておく)
- projectName/conf/trac.iniの編集
[header_logo] link = http://trac.example.com/ [trac] default_charset = japanese.euc-jp [ticket] ; UTF-8なら日本語が使えるのでデフォルト値を設定
使用方法の一例
- バグが見つかった場合
- 数行で直るバグでも取り敢えずチケットを登録する
- ソースを修正してsvn commit、コメントにticket:1などと書いておく
- チケットの解決でコメントにr3(上でコミットしたリビジョン)などと書いておく
- 未完成のシステムを作成中の場合
- ロードマップの棒グラフが進んでいくのを見てにやにやする
ついでにsubversionの使い方を。
/var/local/svn/projectName/trunk /branches /tags
となっていることを仮定する。
- svn commit (何らかの機能が完成した)
- svn cp file:///var/local/svn/projectName/trunk file:///var/local/svn/projectName/branches/1.0 (1.0.0バージョンをリリースする場合)
- svn cp file:///var/local/svn/projectName/branches/1.0 file:///var/local/svn/projectName/tags/1.0.0
バグの修正
- trunkでコミット
- svn switch file:///var/local/svn/projectName/branches/1.0
- svn merge file:///var/local/svn/projectName/trunk@バグ修正前のリビジョン file:///var/local/svn/projectName/trunk@バグ修正後のリビジョン
- svn commit
- svn cp file:///var/local/svn/projectName/branches/1.0 file:///var/local/svn/projectName/tags/1.0.1
バグ修正版の1.0.1が完成。
タイムラインの表示で、前回のバージョンから今回のバージョンにかけての変更点を眺める。それを更新履歴として記述。
逆に言うと、commitするときは更新履歴として書きやすいコメントや、一覧で眺めて作業の流れが見えるようなコメントを書くように心がける。