Getting comm-central Source Code Using Mercurial

Mercurial は、ソースコードの変更をローカルで追跡し、それらの変更を他のユーザと共有するためのソースコード管理ツールです。Mozilla プロジェクトはソースコードの管理を、Mozilla 1.9 開発用の CVS から Mozilla 1.9.1 とその先の製品開発用の Mercurial へ移行しています。

Thunderbird 2.0 や SeaMonkey 1.1, Firefox 3.0 の開発のためのパッチを提出したいときは、CVS を使用してください。

クライアントの設定

設定は Firefox 3.5/xulrunner 1.9.1 の開発と同じです。次の記事を参照してください。

Mozilla_Source_Code_(Mercurial)#Client_settings.

ソースツリーのチェックアウト

Thunderbird と Seamonkey のソースコードはそれぞれ異なるリポジトリに含まれています。comm-central は、それらのアプリケーション開発用のメインの統合リポジトリです。Thunderbird および Sunbird, SeaMonkey に必要とされるソースコードが含まれています。また、他のソースコードを入手するための client.py スクリプトも含まれています。

comm-central のソースコードを入手するには (Mercurial の用語で、リポジトリを "clone" します):

# Mozilla ソースコードを src/ フォルダに pull します。
# 数百メガバイトの履歴が .hg フォルダにダウンロードされるため、しばらく時間がかかります。
hg clone http://hg.mozilla.org/comm-central/ src

cd src
すでに mozilla-central ツリーを clone している場合は、mozilla-central 全体を再び pull してしまうことを避けるため、ここでは src/mozilla に clone してください。

client.py を使用して、必要な他のすべてのソースコードを更新または pull してください:

python client.py checkout
  • "No module named subprocess" というエラーメッセージが表示された場合は、Python 2.4 以降をインストールする必要があります。
  • このステップでは数百メガバイトのデータがダウンロードされます。ネットワークの接続速度によっては、しばらく時間がかかります。

client.py は以下のタスクを行います:

  • mozilla-central コードベースを mozilla/ ディレクトリに pull する
  • 次のリポジトリを mozilla/extensions ディレクトリに pull する:
    • inspector (DOM Inspector)
    • venkman (JavaScript Debugger)
  • 次のディレクトリを CVS リポジトリから pull する:
    • extensions/irc (Chatzilla) (mozilla/extensions/irc ディレクトリへ)
    • directory/c-sdk
  • 'hg pull' を実行して変更を pull する。これは必須ではありません (あなた自身が pull することになるでしょう)。--skip-comm オプションを client.py に渡し、このタスクをスキップします。

リポジトリの更新

リポジトリを更新するには、client.py を再び実行します:

python client.py checkout

comm-central の異なるブランチ を pull するには、 http://hg.mozilla.org/comm-central をブランチの場所に置きかえて、上に書かれた最初のステップを行ってください。ブランチの場所は comm-central ページのブランチ章で指定されています。

関連するリポジトリを pull すると、同じソースディレクトリを使用して上述のソフトウェアを開発してビルドすることができますが、リポジトリをまたがる変更 (chengeset) を作成できるわけではありません。リポジトリをまたがるパッチを作成するときは、各リポジトリごとの変更 (chengeset) が必要です。

ビルド

comm-central のアプリケーションについては、次のリンク先をご覧ください:

Firefox と xulrunner

必要であれば、このツリーから Firefox や xulrunner をビルドすることができます。client.py によって mozilla-central リポジトリが pull されるため、Firefox や xulrunner のビルドと開発は comm-central からのリポジトリ内で行うことができます。ただ一つの違いは、ビルドコマンドを実行する前に mozilla/ ディレクトリに移動する必要があることです:

cd src/mozilla
make -f client.mk build

参照

Document Tags and Contributors

Contributors to this page: Taken, Marsf
最終更新者: Taken,