その際、golangにはpatchを提供する際に、コードレビューをしてもらうのだけど、それに使用しているrietveldが素晴らしく良かった。
rietveldはGoogle App Engineのサーバ上で動作し、クライアントから使うにはmercurialが必須となる。hgrcファイルに以下の修正を追加する。
[extensions]
codereview = YOUR_GO_ROOT/lib/codereview/codereview.py
次にcodereview.appspot.comへログインする。
# 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.
# 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
内容を記入して保存終了する。これでcodereview.appspot.comにissueとして登録される。放っておくと、レビューワが修正を確認してくれる。
ダメ出しを貰った際には、再度修正し以下のコマンドを実行。
# 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/