ラベル trac の投稿を表示しています。 すべての投稿を表示
ラベル trac の投稿を表示しています。 すべての投稿を表示

2008年6月12日木曜日

Subversionのcommitコメントをtracチケットに反映させる

Mylyn&Tracでリズムに乗ってタスクを大掃除♪ @ITこの辺をみてEclipse+MylynをTracと連携させると言うことをやってみた。
ちょっと前にやったので忘れてしまったが思い出しながら・・・

Eclipseの設定
  1. EclipseにMylynを導入
    Eclipse IDE for Java Developers をすでに入れてあってそこにMylyn2.2は入っていたのだが、後述のSubversiveプラグインインストール時にMylynがバージョン2.3じゃなきゃダメだというエラーが出たので改めて導入。
    しかし2.3を上書きインストールしたらMylynが壊れてどうにもならなくなってしまったので、Eclipse自体を再インストール。今度はEclipse IDE for Java EE DevelopersにしてみたらあらかじめMylyn2.3が入っていたのでこれでOK。
  2. Subversiveの導入
    Subversiveプラグイン - EclipseWikiを参考にしながら導入。
    注意点はライセンスの関係でSubversiveプラグインとコネクタが別々の配布になっていることくらい。
Tracの設定
  1. XML-RPCプラグインを導入
    細かいこと忘れちゃった・・・XmlRpcPlugin - Trac Hacks - Plugins Macros etc. - Tracからダウンロードしてプラグイン設定をした。
    あとはtrac & mylynでEclipseからチケットを管理 - kwLogとかをみて・・・。
    trac.iniがどこにあったんだっけとか、python-eggディレクトリのパーミッション問題とかはありましたな・・・。httpd.confのディレクティブに「SetEnv PYTHON_EGG_CACHE /tmp/.python-egg」こんな設定を加えて書き込み権限をwwwユーザーに与えてた。
Subversionの設定
  1. コミット時にチケットに紐づいたコメントを書かないとコミットできなくする
    ${Subversionのリポジトリ}/hooksにpre-commitってシェルスクリプトを置く。
    自分の場合は入門Trac with Subversionを参考にしながら下記のようなスクリプトとした。

  2. コミット時にコメント内容をチケットに反映させる
    1と同様に今度はpost-commitってシェルスクリプトを置く。


んー、らしくなってきたぞ。
しかし、一点、svnコミット時のコメントテンプレートが読み込まれない・・・なんでだ・・・

参考資料

2008年5月31日土曜日

TracとSubversionにダイジェスト認証の設定をする

誰でもアクセス状態のSubversionだったが、Tracとあわせてダイジェスト認証をするようにしてみる。

まずはパスワードファイルを作る。Apacheをインストールすると付いてくるhtdigestコマンドを使ってパスワードファイルを作る。

次にhttpd.confの設定。

  • TracもSubversionも同じtrac-usersレルムで認証するよう
  • Subversionは http://myserver/svn/ 以下をすべて認証対象
  • Tracはanonymousでもアクセスできるように http://myserver/trac/*/login だけを認証対象
とこんな感じ。

Tracのリポジトリブラウザで日本語が化ける

色々と細かい設定が必要だな・・・Trac。でも苦労に見合うことがありそうだ。

リポジトリブラウザでソースをブラウズすると日本語コメントなどが化けている。

trac.iniのdefault_charsetを設定すると解決。
うちの場合はソースはWindows機のEclipseで編集していて、デフォルト設定を使っているのでMS932なので、shift_jisを設定したらきちんと表示されるようになった。

※Python2.4からはEUC-JPやshift_jisのコーデックも搭載されるようになったのでJapaneseCodecsは不要みたい。インストールしちゃったけど。。。

参考

2008年5月30日金曜日

Trac mod_pythonで実行したら LookupError: unknown encoding: X-MAC-JAPANESE

いやぁ・・・Macシロートが下手にMacをサーバー利用してみようとしたのがまずかったのかMac固有の問題に色々はまっている。。

tracdでの起動確認はOK。じゃ今度はmod_pythonでApacheからやってみよう、と。

httpd.confの設定

apacheを立ち上げなおすと・・・。おおトップページはOK。
いざプロジェクトをクリックすると・・・/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/trac/util/datefmt.pyで、LookupError: unknown encoding: X-MAC-JAPANESE と言うエラーが。MacでPythonを扱うときにみんなハマるみちらしい。
エラーの出ているdatefm.pyを修正してencodeを無理やりutf8にしたらとりあえずOK。X-MAC-JAPANESEがどんなエンコーディングなのかは・・・調べてない。

参考

Trac導入 svn-python.pthの問題

前回の続き。



要するにPython Bindingと言うのが必要だと言うこと。
本当なら port install py-svn で済むのだろうけど、依存しているPython25が途中でエラーになってしまってそこからすすまないので、手作業でコンパイルすることにした。


これで、/opt/local/lib にsvn-pythonディレクトリができたので、site-packagesにsvn-python.pthファイルを作る。


要するにsvn-pythonのある場所を.pthファイルに書き込んでいるのだな。

こ、これでようやくTracが稼動・・・結構苦労したなぁ・・・。
本当はバックエンドのDBをMySQLにしたりしたかったけどまぁ・・・Sqliteでいいや。そのほうがプロジェクトのバックアップは簡単だし。

参考

2008年5月28日水曜日

Tracの導入にはまる

本来ならMacportsで一発だったんだろうけど、前述のPython2.5のビルドがうまくいかない件の影響で手動でインストールすることに。(-f オプションつければ依存パッケージのエラーは無視してくれるのかと思ったのだけど、してくれない。思い違いなのだろうか)

  1. かの有名なインタアクト株式会社--業務内容--公開資料 からtrac-0.10.4-ja-1.zipをダウンロードする。
  2. sudo python setup.py --prefix=/opt/local
    でセットアップ(--prefixつけないと$PYTHON_HOME/shareにインストールされるのがイヤだったので)
これでできた。trac-adminもできるしいい感じ。Trac をインストールしてみたよ を参考にして(本当は入門Trac with Subversionこの本を読みながら)tracプロジェクトもできた。
本当はApacheのmod_pythonで動かしたいところだけど、とりあえず付属のtracdで稼動確認をする。
コマンドは成功するも、http://hogehoge:8000にアクセスすると画面は真っ白だ・・・。

コンソールを見てみるとClearSilverというテンプレートエンジンが必要な模様。
これも本来Macportsでできそうなもんなんだけど、前述のPython2.5の依存関係に引っかかってできず・・・。

仕方がないのでソースからビルドしてインストール
sudo ./configure --prefix=/opt/local --with-apache=/opt/local/apache2 --with-python=/Library/Frameworks/Python.framework/Versions/Current/bin/python

Python2.5が変なところにインストールされてるから--with-pythonの指定が長いな・・・。

ClearSilverをインストールすると、一応プロジェクト一覧が見られるように。(trac 0.11からはClearSilver不要になったらしいので英語でもいいから0.11にすればよかった。。。)
しかし、喜んだのもつかの間。プロジェクトを見てみると・・・

TracError: Unsupported version control system "svn". Check that the Python bindings for "svn" are correctly installed.

うーん、svn-python.pthの問題へと続く・・・