一時期盛り上がって、しかし自分のコーディングに集中したことで下がっていた review 熱。今もまだ盛り上がってはきていないのですが、とりあえず前から気になっていた review 用のツールを一つ試してみました。
ReviewMonk ってなに?
一言で言うと
working copy を HTTP で公開しちゃって、誰でも diff を見れるようにするツール
です。今のところ(rev.14 時点)対応しているのは Subversion のみです。show full file をチェックすると diff だけでなく working copy の状態をそのまま表示することもできます。
セットアップ&実行
Rails 2 + svn HEAD で動かしました。
DBMS の migration 不要でいきなり動きました。とは言え adapter の設定はちゃんとしておかないとダメでしたが。
ドキュメントがちょっと違ってて
lib/settings.yml
は存在しなくて
config/settings.yml
でした。サンプルとして
project_root: /home/$USER/projects
が入っていますが、これだと実行ユーザーのホームディレクトリ以下に working copy が限定されます。しかし例えば開発者がサーバを共有している場合は
project_root: /var/src
なんて風にしても ok です。ただし、この
/var/src
以下に .svn を含むディレクトリがないと何もディレクトリがリストアップされないのでちょっと焦ります。これは svn が
svn: '.' is not a working copy
と言っている状態で、その下の階層を調べることはできません。しかし URI に
http://REVIEWMONK_TOP/codereview/stat/PATH/TO/WORKINGCOPY
と、project_root 以下の階層を直接打ってやると表示できます。
また、リスト表示の状態で
- diff
- recursive
がチェックでき、両方にチェックするとコマンドラインで
svn diff
と打った状態がブラウザに表示されます。デフォルトは
svn stat -N
でファイルのリストだけを表示し、diff の見たいファイルを選んで表示する、というスタイルです。
感想
他人の working copy の状態をお手軽にレビューするには向いているような気がします。少なくとも working copy のパスに URI が付くのは単純に便利です。
もちろん文字コードの問題はあるし、レビューとは言っても何かしら記録を残すことは今のところできません。ということはこのツールだけではレビューをワークフローとして取り入れることは難しいです。
以前、Trac の PeerReviewPlugin を試しました。これはこれでよくできていた1のですが、試した時点では
- Review の feed を取れない
- Wiki から source browser へのリンクなどがおかしくなる
など、常用するにはつらい問題を抱えていたので採用は見送ったままの状態になっています。今なら問題が解決してるのかなぁ? あんまりちゃんと情報を追いかけてないんですよね。
また入れ直してみるか、また何か別なツールを試すか…。
コミットしたものをレビュー対象にするので今回のツールとは考え方が違います。 ↩