昨日、 Eclipse Foundationは、待望のGitベースのコードレビューとパッチ提供のための Gerritをリリース した。GerritはGitのサブミッションを受け取るwebベースのツールで、 以前InfoQで扱った。レビューツールは、 https://git.eclipse.org/r/から入手できる。
Gerritは既にオープンソースプロジェクトでは広く使われている、例えば https://android-review.googlesource.com/、そしてEGitが標準のEclipseパッケージの一部となってから、Eclipseプロジェクトのほぼ半分 が既にGit上にあることもあり、 Gerritの統合は当然の結果だった。
Chris Aniszcsyk氏はEclipseで長い間GitとGerritを支持しており、次のように言っている。
こうしてやっとリリースされるのを見るのは、満足です。我々のようなほんの数人のコミッターがこの2,3年間、Eclipseインフラを近代化するために、このプロジェクトを推し進めてきました。我々はEGit やJGit プロジェクトで随分長い間Gerritを試用してきましたし、大変満足しています。やっとEclipseコミッターが、もしプロジェクトにコードレビューのワークフローを加えたければ、Gitを使ってコードレビューする便利な方法を手に入れたのは、素晴らしいことです。
しかし、Eclipseプロセスは、もう技術改善に追いつかなければならない。DVCSとしてGitが広く行き渡っているので、 GitHubでEclipseプロジェクトをフォークして、リポジトリへ直接コミットして、その機能に改善を提供するのは、人々には普通になっている。しかし、そのプロセスにはBugzillaに「パッチ」を追加することが記述されているが、DVCSの世界では一般に稀なことである(しかし不可能ではない)。
Gerritは最初のログイン前に同意しなければならない、ユーザー同意をサポートしている。これはしばしば、ライセンス同意を受け入れるために使われている。Eclipseのプロセスには 以下のように書かれている。
コントリビュータは対応しているバグやGerritプッシュが記録するコメントで以下のように主張する。自分達が
- コントリビュートしている成果を100%自分で書いたこと
- 成果をEPLに寄贈する権利を持つこと
- 成果をEPLの下でコントリビュートすること
この時点で、我々はアカウントが作られたなら、コントリビュータは仕様条項に明らかに同意することを要求する。我々は更にコントリビュータが各寄贈と一緒に3つの質問に応える。(もし在れば)Bugzillaの記録かGerritプッシュに紐づいたコメントに同意を与えることができる。
進行中の議論 によれば、このルールは他のバージョンコントロールシステムで、過去にあらゆることで無視されてきた。
今月終りにある Eclipse 3.7.2のリリースと3.7ストリームのビルドに対しても「万が一」のために、多くのプロジェクトが古いCVSやSVNリポジトリを使っていることで、おそらくプロジェクトに比例してGitの使用は EclipseCon 2012までに飛躍的に増えるだろう。 CVSのサポートが終わるまでの310日間で、恐らく多くのプロジェクがCVSそしてSVNも使わなくなるだろう。そしてもし Eclipse Contributor Agreementの問題が解決され、GerritによるパッチのプロセスがIPワークフロー内に統合されれば、重要なプラットフォームライブラリへの修正の寄贈がもっとあるだろうし、それは是が非でも必要である。
Alex BlewittはTwitterの a @alblueで繋がり、 alblue.bandlem.comに定期的にブログ投稿している。