git-clone git://repo.or.cz/mozilla-1.9.git mozilla
or
git-clone http://repo.or.cz/r/mozilla-1.9.git mozilla
The first is faster, but requires connection to port 9418, which may be
blocked by firewall.
Raw instructions for building after checkout are available in 'Building
from Mercurial cvs-trunk-mirror' thread in this newsgroup.
--
Sergey Yanovich
In fact, cvs-trunk-mirror is missing three large blocks of code from
cvs-trunk: nspr, nss, extensions. However, it looks like these blocks
could be updated separately from the main tree, for example, on major
releases.
There is now a separate git repository for each of them:
git://repo.or.cz/mozilla-nspr.git
git://repo.or.cz/mozilla-nss.git
git://repo.or.cz/mozilla-extra.git
*git* allows to safely mix code from different external repositories in
a single local repository. As a result, it is now possible to create a
branch that will track the whole tree required for the build.
That means full and partial trees can be freely switched and moved
between repositories w/out the need of cvs checkout after every step.
For working with repo.or.cz, there is a shell script 'gitmo' at
http://www.aasii.org/download/gitmo
With the script, the following commands will build the latest version of
trunk:
gitmo clone
gitmo build
cat << EOF > .mozconfig
#put real mozconfig here
#...
EOF
make -f client.mk build
--
Sergey Yanovich
Let's suppose we need to build 1.9a8 now:
git commit -m ".mozconfig" .mozconfig
git checkout -b m8 master
git config remote.m8.url git://repo.or.cz/mozilla-1.9/m8.git
git config remote.m8.fetch +refs/heads/*:refs/remotes/m8/*
git fetch m8
git reset --hard refs/remotes/m8/master
gitmo merge
autoconf #if configure.in changed
git diff master..build -- .mozconfig | patch -p1
vi .mozconfig
make -f client.mk build
git commit -m ".mozconfig" .mozconfig
And now we need to build an updated trunk:
git checkout build
git pull origin
autoconf #if configure.in changed
make -f client.mk build
If the trunk was built with a VPATH the first time, the last command
will rebuild only changed files and save us some 30-50 mins depending on
the system speed.
The idea here is that numerous branches with files from different
external repositories can peacefully coexist in a single repository and
are all built from a single location (reduces source code footprint).
--
Sergey Yanovich