その際、golangにはpatchを提供する際に、コードレビューをしてもらうのだけど、それに使用しているrietveldが素晴らしく良かった。
rietveldはGoogle App Engineのサーバ上で動作し、クライアントから使うにはmercurialが必須となる。hgrcファイルに以下の修正を追加する。
[extensions]次にcodereview.appspot.comへログインする。
codereview = YOUR_GO_ROOT/lib/codereview/codereview.py
# hg code-loginこれで準備完了。
Email (login for uploading to codereview.appspot.com): rsc@golang.org
Password for rsc@golang.org:
Saving authentication cookies to
/Users/rsc/.codereview_upload_cookies_codereview.appspot.com
golangのリポジトリ上で最新を得て、修正を行った。ここでcommitはしなくて良い。
# hg changesするとエディタが起動して以下の入力を求められる。
# Change list.内容を記入して保存終了する。これでcodereview.appspot.comにissueとして登録される。
# Lines beginning with # are ignored.
# Multi-line values should be indented.
Reviewer:
CC:
Description:
<enter description here>
Files:
src/pkg/math/sin.go
src/pkg/math/tan.go
src/pkg/regexp/regexp.go
放っておくと、レビューワが修正を確認してくれる。
ダメ出しを貰った際には、再度修正し以下のコマンドを実行。
# hg mail レビュー受付番号これだけ。
次に修正しても同じコマンドを実行するだけ。ちなみに別の修正対象ファイルで複数のレビューをお願いする場合は、「hg changes」の引数に変更したファイルを指定すれば良い。あとは個別に「hg mail」の受付番号を指定すれば良い。
ちなみにmailとあるが、メールを送る訳ではなくcodereviewシステムに送られるだけなので、http/httpsポートが開いていれば使える。
結構便利。
ちなみに3件送った修正の内、2つは取り込まれそうです。
取り込まれると、ココに名前が載せてもらえるらしいので少しワクワク。
あと、rietveld自身は以下のサイトからダウンロード出来る。
rietveld - Project Hosting on Google CodeGoogle App Engineはpythonのバージョンが2.5だし、rietveld自身はDjango1.0でしか動かないので、virtualenvを使うのが良いと思う。
This project shows how to create a somewhat substantial web application using Django on Google App Engine.
http://code.google.com/p/rietveld/