--- title: Getting comm-central Source Code Using Mercurial slug: Mozilla/Developer_guide/Source_Code/Getting_comm-central translation_of: Mozilla/Developer_guide/Source_Code/Getting_comm-central original_slug: >- Mozilla/Developer_Guide/Source_Code/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

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

参照

{{ languages( { "en": "En/Developer_Guide/Source_Code/Getting_comm-central", "fr": "fr/Code_source_de_comm-central_(Mercurial)" } ) }}