LightHouse に日本語のコミットログを送る

先日、ひょんなことからプロジェクト管理システム(サービス) LightHouse を知り、ちょうど以前から「Trac に挑戦してみようかな → もしインストールがうまく行かずにうんうん唸る羽目になったらやだな(へたれ)」となっていたので、こっちを試してみることにしました。1プロジェクトだけなら無料。

ところが、こちらのページ に書かれている Subversion との連携 スクリプト(hook)がうまく動かなかったり、なんとか動いても、こんどは日本語のログが文字化けしてしまったりしたので、ちょっとスクリプトを修正・追加してみましました。

Subversion の hook の作り方・使い方に関しては、ウェブ上にいろいろ情報があるので、それを見ていただくといいと思いますが、基本的には、以下のファイルを あなたのレポジトリ/hooks/ に置き、実行権を与えれば OK です。

  1. こちら をファイル名「post-commit」で保存
  2. こちら をファイル名「lighthouse-post-commit-hook」で保存

※ リンク先ページ右側の「Download」から、ファイルとしてダウンロードすることもできます。

僕も Subversion の hook というものを使ってみるのは初めてで、ターミナル.app 経由のテストならうまくいくのに、いざ本番で使ってみるとうまくいかず、悩んで、Subversion のドキュメントを見てみたら、ちゃんと書いてありました:

Tip

For security reasons, the Subversion repository executes hook scripts with an empty environment—that is, no >environment variables are set at all, not even $PATH or %PATH%. Because of this, a lot of administrators are baffled >when their hook script runs fine by hand, but doesn’t work when run by Subversion. Be sure to explicitly set >environment variables in your hook and/or use absolute paths to programs.

セキュリティ上の理由から、hook スクリプトは、環境変数がまったく設定されていない状態で起動される、と。そりゃそうか(涙)

というわけで、LightHouse のサイトで紹介されているスクリプトを直接 hook にするのではなく、ロケールを設定するシェルスクリプトを間に挟むようにしました。というか、Trac など向けのスクリプトもそうなっているようです。

また、「lighthouse-post-commit-hook」の方は、LightHouse のサイトで紹介されているものとほぼ同じですが:

  • どのオプションを設定しなければいけないか分かりにくい
  • 関連する似たような用語があって混乱する(users? authors? members?)
  • どういう値を設定したらいいかわからないオプションがある
  • 設定する必要がないのでほっといたらエラーになってしまうオプションがある

と、いくつか気になるところがあったので、コメントなどを増やしておきました。余計分かりにくくなってたら、すんません。

そもそも LightHouse は、API がとても 充実している ようなので、自分の使いやすいものを書けばいいのかもしれませんが。

なぜ今回プロジェクト管理システムの話が出てきたかというと、小さなアプリとはいえ、Kaku のバグや、これから追加したい機能を管理するのに、紙ベース(!)というのは限界があるな、と感じていた(当たり前か)ためで、プロジェクト管理システムを使ってみるのは今回が初めてです。ちょっと勉強して(遊んで)みます。

Leave a Reply

Your email address will not be published. Required fields are marked *