Atlassian Advent Calendar 2012の16日目のエントリーです。
昨日は@bohnenさんのHipChatとJIRAの連携です。
明日は@yut148さんです。

リポジトリを見るならFishEyeが最高!

ソースコードリポジトリを見るならFishEyeが最高です。といっても他はViewVCしか知らなかったりしますが。 ただし見るだけなら、です。見るだけじゃなくてレビューもできたら最高です。 後述しますが、Atlassianはそんなことも可能にしてくれるCrucibleというFishEyeのプラグインを用意してくれています。

だけど制限があります

FishEye最高ですが、ライセンスの必要なソフトウェアです。 大きなプロジェクトで予算が潤沢にあれば、ライセンス料の問題は無いでしょうけど、 小さなチームで導入しようとすると、どうしてもスターターライセンスという一番安いライセンスを頼ることになります。 このライセンスは、コミッターは10人まで、リポジトリは5個までという制限があります。 10人以内のチームであれば問題ありませんが、常時10人以内のチームでも何人かの入れ替わりが発生すると、 すぐに10人を超えてしまうかもしれません。

Gitだと、コミット履歴中のコミッターを書き換える事ができるので、 コミッターを書き換えるのが便利かもしれません。

SVNはどうなんでしょう?コミッターを書き換えられればGitと同じように出来そうですが、 良くわかりません。ブランチをリポジトリとして参照するなどの方法を取った方が良いかもしれません。

Crucibleプラグインを使う

最初に書きましたが、Crucibleはソースコードをレビューする為のプラグインです。 このプラグインを使うと、参照しているソースコード中に行単位でレビューコメントを登録できます。 Crucibleを利用する事で、FishEyeの能力が全開されます。

Crucibleのレビュー方法は、Author, Moderator, Reviwerの最低3人を設定するところから始まります。 ModeratorはReviwerにはなれません。ただ、Moderatorでもレビューはできます。 小さなチームでは3人をレビューに割り当てるのが効率的ではない場合があります。 そんなときは、AuthorとModeratorを同一人物としています。でもこれが正しいやり方なのかは現在も試行錯誤中です。 ある程度自由に設定できる為に、やり方が何通りも存在してしまい、最適解がなかなか見つかりません。 この辺について何かドキュメントが欲しいところです。

でもやっぱり制限がある

ライセンスにもよりますが、Crucibleのスターターライセンスは5ユーザまでという制限があります。 FishEyeがコミッター10人までサポートされているので、単純に考えると5人分のレビューが出来ないことになります。 ですが、管理画面でユーザ毎にCrucibleの適用有無を設定できるので、設定を随時変更する事で、 全員分のレビューを行う事も可能です。

まとめ

ライセンスの制限がある中でやっているので、何かと不便があるのは事実です。 でも、リポジトリの参照とレビュー履歴が一度に見れるこの組み合わせを一度でも体験すると、 他の方法がとれなくなるぐらい魅力的です。とは書いたものの、Crucibleのライセンス、せめてコミッターと同じ数を 許容してもらいたい…。