mozilla

# Mercurial bundles

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. This is useful since a file download, unlike hg clone, can be resumed if the connection is interrupted. Once you have the bundle, staying up-to-date shouldn't take much time at all, if you keep up with it regularly.

Up-to-date bundles of some of the repositories listed at http://hg.mozilla.org/ are available for download on Mozilla's FTP server.

The hg pull you will run later (after downloading the repository bundle and setting it up locally) will verify the integrity of the bundle you download.

## Setting up the repository

Once you have downloaded the repository bundle, follow the steps below to recreate the repository locally based upon that bundle. Be sure to replace "mozilla-central" with the project you're working with as appropriate.

1. Initialize a new repository (in a directory called mozilla-central here):

mkdir mozilla-central
hg init mozilla-central


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

To use the below command in Windows, export the \path\to\hg and invoke the command from command prompt.

cd mozilla-central
hg unbundle /path/to/your/bundle.hg

Get comfortable. Grab a coffee (or your favorite tasty beverage). Maybe a nap. This unbundling process is going to take quite a lot of time.

3. Add the following lines to the file mozilla-central/.hg/hgrc (you may have to create it) so that Mercurial will automatically know where to pull changes from future updates.

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

4. Establish trusted users and groups so that Mercurial knows that the user root and group root are legitimate, by adding the following lines to the file /etc/mercurial/hgrc.d/trust.rc:

[trusted]
groups = root
users = root

5. 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 update

You now have a clone of mozilla-central that is identical to one made via hg clone. You can adjust your build settings, or you can go straight ahead and build Firefox!