2008-11-19

ReviewMonk を動かしてみた

一時期盛り上がって、しかし自分のコーディングに集中したことで下がっていた 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 へのリンクなどがおかしくなる

など、常用するにはつらい問題を抱えていたので採用は見送ったままの状態になっています。今なら問題が解決してるのかなぁ? あんまりちゃんと情報を追いかけてないんですよね。

また入れ直してみるか、また何か別なツールを試すか…。

  1. コミットしたものをレビュー対象にするので今回のツールとは考え方が違います。 

About

例によって個人のなんちゃらです