Aug 08, 2008

Mozilla Cross-ReferenceとMercurial

状況がよく分からなかったので改めて調べてみたことのまとめ。

Firefoxその他のMozilla製品のソースコードはこれまではCVSでバージョン管理されていて、MXR(Mozilla Cross-Reference)というサービスを使うと最新の内容をオンラインで検索できた。mozilla1.8(リンク先はMXR)を見ると、Firefox 2.0.0.xやThunderbird 2.0.0.xのコードを検索できる。

しかしCVSが使いにくいということで、Mercurialという別のバージョン管理システムに移行しようという話がずっと進んでいたそうで、Firefox 4を目指しているTrunkのリポジトリがmozilla-central(リンク先はMercurialのWebインターフェース)という名前でMercurial上に作成され、すでに自動ビルドも動いているという。

ちなみにMercurialがらみでよく「Hg」という単語が出てくるけれども、これは、水銀(mercury)の元素記号がHgだからだそうで、コマンドラインツールのコマンド名等も「hg」になってるんだそうな。知らんかった。

自分が把握できていなかったのは、以下の点。

  • CVSは完全に捨てて、全面的にMercurialに移行するのか? もう移行したのか? それとも、新しいプロジェクトやTrunkだけがMercurialに移行して、古いプロダクトは今後もCVSで管理されるのか?
  • MXRで検索できるのはCVSで管理されてた頃のコードだけなのか? だとしたらMXRに代わるツールはあるのか? それともMercurial移行後の物もMXRで検索できるのか?

結論としては、以下のことが分かった。

  • CVSは今も使われている。Firefox 2.0.0.xやThunderbird 2.0.0.xのコードはCVSのリポジトリにあり、今もコミットが続いている。
  • TrunkはCVSとMercurialの両方にリポジトリがあり、CVSの「trunk」がMercurialの「cvs-trunk-mirror」に自動的にミラーリングされているようだ。
  • mozilla-central(リンク先はMDCの解説)はFirefox 4(Mozilla 2)およびその先のバージョンのための新しいTrunkのリポジトリ。
  • MXRはCVS、Subversion、Mercurialのいずれにも対応している。Mercurial上にあるFirefox 4向けのコードはMXRのMozilla Centralのページから、将来のThunderbird向けのコードはMXRのComm. Centralのページから、CVSのFirefox 3系のコードはMXRのFirefox 3のページから検索できる。

以下、まだ分かってないこと。

  • Thunderbird 3のコードはどこを見るのが正解? Mercurialのcomm-central? それともCVSのmozilla? 将来的にはcomm-centralでいいんだろうけど、とりあえず今2008年8月8日現在ではどうなのか。
  • FirefoxのTrunkはCVSとMercurialのどっちを見るのが正解? CVSのmozilla? Mercurialのcvs-trunk-mirror? それともMercurialのmozilla-central? 将来的にはmozilla-centralでいいんだろうけど、とりあえず今2008年8月8日現在ではどうなのか。
エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能