Getting Mozilla Source Code Using Mercurial

  • リビジョンの URL スラッグ: Developer_Guide/Source_Code/Mercurial
  • リビジョンのタイトル: Getting Mozilla Source Code Using Mercurial
  • リビジョンの ID: 97576
  • 作成日:
  • 作成者: Marsf
  • 現行リビジョン いいえ
  • コメント no wording changes

このリビジョンの内容

Mercurial は、ユーザがソースコードの変更をローカルで追跡し、それらの変更を他のユーザと共有するためのソースコード管理ツールです。これは Firefox 3.5/Mozilla 1.9.1 およびそれ以降のリリースで使用されています。

註: Thunderbird 3.x や SeaMonkey 2.x の開発のためにパッチを提供したいときは、Comm-central のソースコード を使用してください。 Firefox 3.0.x, Thunderbird 2.0.x または SeaMonkey 1.1.x の開発のためにパッチを提供したいときは CVS のソースコード を使用してください。

クライアント設定

Mercurial のインストールと設定

Mercurial のインストール をご覧ください。

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

mozilla.org では複数の hg リポジトリがホストされています。全リポジトリのリストは http://hg.mozilla.org/ をご覧ください。

mozilla-central (メイン開発ツリー)

将来のリリースのためのソースコードは mozilla-central にあります。

最新のコミットされた変更を mozilla-central から入手するには、リポジトリを "clone" (Mercurial 用語) します:

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

cd src

mozilla-central (ビルド可能な最新のソースコード)

最新のコミットされた変更でビルドが成功することはないでしょう。自動テストを通ったソースコードを入手してください。

mozilla-1.9.2 (Firefox 3.6)

Firefox 3.6 (Gecko 1.9.2) リリースのためのソースコードは releases/mozilla-1.9.2 にあります。このソースコードを入手するには:

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

cd 192src

mozilla-1.9.1 (Firefox 3.5)

Firefox 3.5 (Gecko 1.9.1) リリースのためのソースコードは releases/mozilla-1.9.1 にあります。このソースコードを入手するには:

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

cd 191src

comm-central (Thunderbird 3.0/SeaMonkey 2.0/Calendar)

comm-central は、Thunderbird/SeaMonkey/Calendar (Sunbird/Lightning) のためのリポジトリです。

After pulling comm-central, running client.py will also get you releases/mozilla-1.9.1, as well as a few other repositories/directories (dom-inspector, venkman, chatzilla, ldap c-sdk). This means you can also build Firefox 3.5 with this combination checked out.

You can override the default setting and pull mozilla-central (or releases/mozilla-1.9.2) instead. comm-central will probably use mozilla-central after it branches for TB3.0/SM2.0/... releases.

See Comm-central source code (Mercurial) for further information on pulling and building with comm-central.

# Pull the Mozilla source to the folder commsrc/ - may take a while 
# as hundreds of megabytes of history is downloaded to .hg
hg clone http://hg.mozilla.org/comm-central/ commsrc

cd commsrc

python client.py checkout

バンドル

If you have a poor network connection that is preventing 'hg clone' from completing, you may want to try downloading a bundle of the repository you're interested in (which, unlike 'hg clone', can be resumed when network problems interrupt the download).

Up to date bundles of the repositories listed at http://hg.mozilla.org/ are not yet available on mozilla.org (bug 437482 has been filed for that). However, bundles for some of the repositories listed can be found by googling. For example, here is a mozilla-central bundle and here is a comm-central bundle.

Once you have downloaded the repository bundle, follow these steps:

1. Initialize a new repository (in a directory called 'src' here):

hg init src

2. Un-bundle the bundle file to that repository:

cd src
hg unbundle /path/to/your/repository.bundle

3. Add the following lines to the file src/.hg/hgrc (you may have to create it) so that hg will automatically know where to pull changes from in future (replacing 'mozilla-central' as appropriate):

[paths]
default = http://hg.mozilla.org/mozilla-central/

4. Update the repository to get all the changes since the bundle was created (this step also doubles as a check of the bundle integrity since if its contents are not exactly the same as what's in the official repository then the 'hg pull' will fail):

hg pull

5. Check out a working copy from your new up to date repository:

hg up

ビルド

Configure を実行し、通常どおり .mozconfig ファイルと make -f client.mk でビルドします。

Linux_Build_Prerequisites

# mozconfig ファイルは自分で作成するか、この最小のデフォルトファイルを使用してください。
echo '. $topsrcdir/browser/config/mozconfig' > .mozconfig

# configure ファイルは 'autoconf-2.13' コマンドを使用して自動的に生成されます。
# ただし、OS X では autoconf213 が使用されます。
# あなたのシステムで autoconf-2.13 が正しいコマンド名でない場合、
# 例えば Ubuntu Linux では、下記のように実際のコマンド名を使用してください。
echo 'mk_add_options AUTOCONF=autoconf2.13' >> .mozconfig

# ビルドします。configure が自動的に実行されます。
make -f client.mk build

参照

  • Mercurial ページには、差分の作成、変更のコミット、共有リポジトリのパブリッシュについての情報があります。

{{ languages( { "en": "en/Mozilla_Source_Code_(Mercurial)", "es": "es/C\u00f3digo_fuente_de_Mozilla_(Mercurial)", "fr": "fr/Code_source_de_Mozilla_(Mercurial)", "pl": "pl/Kod_\u017ar\u00f3d\u0142owy_Mozilli_(Mercurial)", "zh-cn": "cn/%E9%80%9A%E8%BF%87Mercurial%E8%8E%B7%E5%8F%96%E6%BA%90%E7%A0%81" } ) }}

このリビジョンのソースコード

<p style="text-align: left;"><a href="/ja/Mercurial" title="ja/Mercurial">Mercurial</a> は、ユーザがソースコードの変更をローカルで追跡し、それらの変更を他のユーザと共有するためのソースコード管理ツールです。これは Firefox 3.5/Mozilla 1.9.1 およびそれ以降のリリースで使用されています。</p>
<div class="note"><strong>註:</strong> Thunderbird 3.x や SeaMonkey 2.x の開発のためにパッチを提供したいときは、<a class="internal" href="/Ja/Developer_Guide/Source_Code/Getting_comm-central" title="Ja/Comm-central source code (Mercurial)">Comm-central のソースコード</a> を使用してください。 Firefox 3.0.x, Thunderbird 2.0.x または SeaMonkey 1.1.x の開発のためにパッチを提供したいときは <a class="internal" href="/ja/Developer_Guide/Source_Code/CVS" title="Ja/Mozilla Source Code (CVS)">CVS のソースコード</a> を使用してください。</div>
<h3 name="Client_settings">クライアント設定</h3>
<h4 name="Installing_and_configuring_Mercurial">Mercurial のインストールと設定</h4>
<p><a href="/ja/Installing_Mercurial" title="ja/Installing_Mercurial">Mercurial のインストール</a> をご覧ください。</p>
<h3 name="Checking_out_a_source_tree">ソースツリーのチェックアウト</h3>
<p>mozilla.org では複数の hg リポジトリがホストされています。全リポジトリのリストは <a class="external" href="http://hg.mozilla.org/" title="http://hg.mozilla.org/">http://hg.mozilla.org/</a> をご覧ください。</p>
<h4 name="mozilla-central (main development tree)">mozilla-central (メイン開発ツリー)</h4>
<p>将来のリリースのためのソースコードは <a class="external" href="http://hg.mozilla.org/mozilla-central" title="http://hg.mozilla.org/mozilla-central"><code>mozilla-central</code></a> にあります。</p>
<p>最新のコミットされた変更を mozilla-central から入手するには、リポジトリを "clone" (Mercurial 用語) します:</p>
<pre># Mozilla ソースコードを src/ フォルダに pull します。
# 数百メガバイトの履歴が .hg フォルダにダウンロードされるので、しばらく時間がかかります。
hg clone http://hg.mozilla.org/mozilla-central/ src

cd src</pre>
<h4 class="editable">mozilla-central (ビルド可能な最新のソースコード)</h4>
<p>最新のコミットされた変更でビルドが成功することはないでしょう。<a class="external" href="/Ja/Developer_Guide/Source_Code/LatestPassingSource" title="https://developer.mozilla.org/Ja/Developer_Guide/Source_Code/LatestPassingSource">自動テストを通ったソースコードを入手</a>してください。</p>
<h4 class="editable">mozilla-1.9.2 (Firefox 3.6)</h4>
<p>Firefox 3.6 (Gecko 1.9.2) リリースのためのソースコードは <a class="external" href="http://hg.mozilla.org/releases/mozilla-1.9.2" title="http://hg.mozilla.org/releases/mozilla-1.9.2">releases/mozilla-1.9.2</a> にあります。このソースコードを入手するには:</p>
<pre># Mozilla ソースコードを 192src/ フォルダに pull します。
# 数百メガバイトの履歴が .hg フォルダにダウンロードされるので、しばらく時間がかかります。
hg clone http://hg.mozilla.org/releases/mozilla-1.9.2/ 192src

cd 192src</pre>
<h4 class="editable">mozilla-1.9.1 (Firefox 3.5)</h4>
<p>Firefox 3.5 (Gecko 1.9.1) リリースのためのソースコードは <a class="external" href="http://hg.mozilla.org/releases/mozilla-1.9.1" title="http://hg.mozilla.org/releases/mozilla-1.9.1">releases/mozilla-1.9.1</a> にあります。このソースコードを入手するには:</p>
<pre># Mozilla ソースコードを 191src/ フォルダに pull します。
# 数百メガバイトの履歴が .hg フォルダにダウンロードされるので、しばらく時間がかかります。
hg clone http://hg.mozilla.org/releases/mozilla-1.9.1/ 191src

cd 191src
</pre>
<h4>comm-central (Thunderbird 3.0/SeaMonkey 2.0/Calendar)</h4>
<p><a class="external" href="http://hg.mozilla.org/comm-central" title="http://hg.mozilla.org/comm-central"><code>comm-central</code></a> は、Thunderbird/SeaMonkey/Calendar (Sunbird/Lightning) のためのリポジトリです。</p>
<p>After pulling <code>comm-central,</code> running <code>client.py</code> will also get you <a class="external" href="http://hg.mozilla.org/releases/mozilla-1.9.1" title="http://hg.mozilla.org/releases/mozilla-1.9.1">releases/mozilla-1.9.1</a>, as well as a few other repositories/directories (<a class="external" href="http://hg.mozilla.org/dom-inspector" title="http://hg.mozilla.org/dom-inspector">dom-inspector</a>, <a class="external" href="http://hg.mozilla.org/venkman" title="http://hg.mozilla.org/venkman">venkman</a>, chatzilla, ldap c-sdk). This means you can also build Firefox 3.5 with this combination checked out.</p>
<p>You can override the default setting and pull <a class="external" href="http://hg.mozilla.org/mozilla-central" title="http://hg.mozilla.org/mozilla-central"><code>mozilla-central</code></a> (or <a class="external" href="http://hg.mozilla.org/releases/mozilla-1.9.2" title="http://hg.mozilla.org/releases/mozilla-1.9.2">releases/mozilla-1.9.2</a>) instead. <code>comm-central</code> will probably use <code>mozilla-central</code> after it branches for TB3.0/SM2.0/... releases.</p>
<p>See <a class="internal" href="/En/Developer_Guide/Source_Code/Getting_comm-central" title="En/Comm-central source code (Mercurial)">Comm-central source code (Mercurial)</a> for further information on pulling and building with <code>comm-central</code>.</p>
<pre># Pull the Mozilla source to the folder commsrc/ - may take a while 
# as hundreds of megabytes of history is downloaded to .hg
hg clone http://hg.mozilla.org/comm-central/ commsrc

cd commsrc

python client.py checkout
</pre><h3 name="Bundles">バンドル</h3>
<p>If you have a poor network connection that is preventing 'hg clone' from completing, you may want to try downloading a bundle of the repository you're interested in (which, unlike 'hg clone', can be resumed when network problems interrupt the download).</p>
<p>Up to date bundles of the repositories listed at <a class="external" href="http://hg.mozilla.org/" title="http://hg.mozilla.org/">http://hg.mozilla.org/</a> are not yet available on mozilla.org (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=437482" title="https://bugzilla.mozilla.org/show_bug.cgi?id=437482">bug 437482</a> has been filed for that). However, bundles for some of the repositories listed can be found by googling. For example, <a class="external" href="http://benjamin.smedbergs.us/blog/2008-06-05/getting-mozilla-central-with-limited-bandwidth/" title="http://benjamin.smedbergs.us/blog/2008-06-05/getting-mozilla-central-with-limited-bandwidth/">here is a mozilla-central bundle</a> and <a class="external" href="http://www.rumblingedge.com/files/hg-bundles/" title="http://www.rumblingedge.com/files/hg-bundles/">here is a comm-central bundle</a>.</p>
<p>Once you have downloaded the repository bundle, follow these steps:</p>
<p>1. Initialize a new repository (in a directory called 'src' here):</p>
<pre>hg init src
</pre>
<p>2. Un-bundle the bundle file to that repository:</p>
<pre>cd src
hg unbundle /path/to/your/repository.bundle</pre>
<p>3. Add the following lines to the file <code>src/.hg/hgrc</code> (you may have to create it) so that hg will automatically know where to pull changes from in future (replacing 'mozilla-central' as appropriate):</p>
<pre>[paths]
default = http://hg.mozilla.org/mozilla-central/</pre>
<p>4. Update the repository to get all the changes since the bundle was created (this step also doubles as a check of the bundle integrity since if its contents are not exactly the same as what's in the official repository then the 'hg pull' will fail):</p>
<pre>hg pull</pre>
<p>5. Check out a working copy from your new up to date repository:</p>
<pre>hg up</pre>
<h3 name="Building">ビルド</h3>
<p><a href="/ja/Configuring_Build_Options" title="ja/Configuring_Build_Options">Configure</a> を実行し、通常どおり <code>.mozconfig</code> ファイルと <code>make -f client.mk</code> でビルドします。</p>
<p><a class="internal" href="/Ja/Developer_Guide/Build_Instructions/Linux_Build_Prerequisites" title="Ja/Linux Build Prerequisites"><span style="text-decoration: underline;">Linux_Build_Prerequisites</span></a></p>
<pre class="eval"># mozconfig ファイルは自分で作成するか、この最小のデフォルトファイルを使用してください。
echo '. $topsrcdir/browser/config/mozconfig' &gt; .mozconfig

# configure ファイルは 'autoconf-2.13' コマンドを使用して自動的に生成されます。
# ただし、OS X では autoconf213 が使用されます。
# あなたのシステムで autoconf-2.13 が正しいコマンド名でない場合、
# 例えば Ubuntu Linux では、下記のように実際のコマンド名を使用してください。
echo 'mk_add_options AUTOCONF=autoconf2.13' &gt;&gt; .mozconfig

# ビルドします。configure が自動的に実行されます。
make -f client.mk build
</pre><h3 name="See_also">参照</h3>
<ul> <li><a href="/ja/Mercurial" title="ja/Mercurial">Mercurial</a> ページには、差分の作成、変更のコミット、共有リポジトリのパブリッシュについての情報があります。</li>
</ul>
<p>{{ languages( { "en": "en/Mozilla_Source_Code_(Mercurial)", "es": "es/C\u00f3digo_fuente_de_Mozilla_(Mercurial)", "fr": "fr/Code_source_de_Mozilla_(Mercurial)", "pl": "pl/Kod_\u017ar\u00f3d\u0142owy_Mozilli_(Mercurial)", "zh-cn": "cn/%E9%80%9A%E8%BF%87Mercurial%E8%8E%B7%E5%8F%96%E6%BA%90%E7%A0%81" } ) }}</p>
Revert to this revision