Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

git mirror of http://hg.mozilla.org/cvs-trunk-mirror/

10 views
Skip to first unread message

Sergey Yanovich

unread,
Sep 6, 2007, 9:12:57 AM9/6/07
to
Those, who would like to try git on mozilla tree, can do it by:

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

Sergey Yanovich

unread,
Oct 4, 2007, 5:00:07 PM10/4/07
to
Sergey Yanovich wrote:
> Raw instructions for building after checkout are available in 'Building
> from Mercurial cvs-trunk-mirror' thread in this newsgroup.

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

Sergey Yanovich

unread,
Oct 5, 2007, 4:22:06 AM10/5/07
to
Sergey Yanovich wrote:
> 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

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

0 new messages