Alternative to "forests"

Benjamin Smedberg benjamin at smedbergs.us
Thu Apr 10 15:19:32 CDT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At Mozilla we combine several repositories to make up our final release:

the main codebase (Hg)
NSPR (currently in CVS, checked out by tag)
NSS (currently in CVS, checked out by tag)
tamarin (Hg)

Right now we combine these repositories with a custom python script
"client.py" which people run to combine all the sources together. We've been
talking about forest, but it has some drawbacks from our perspective:

* not included with mercurial (yet)
* not especially stable/usable (yet)
* won't do CVS subrepos (ever, hopefully!)
~  This is not a big deal... we could import NSPR tags into a Hg repository
* doesn't help our build tools
~  In particular, build-on-checkin buildbots would have to go check every
sub-repo to see if there was a commit

Instead of using forests, I was thinking about an alternate strategy:

* Create an Hg repository for NSPR/NSS by importing the tag
* import that history into the main mozilla tree
* "hg move" the files to their location in our tree (nsprpub/ security/nss)

So far, I can do all this with Hg 1.0 easily. The question is really, how do
I "prevent" users from modifying NSPR/NSS? We want any NSPR/NSS changes to
end up in the official NSPR/NSS repositories, so we aren't accidentally
carrying locally changed NSPR/NSS sources.

I'd really like a two-part solution: an extension which users can install
into their local mercurial which warns or prevents them from committing
NSPR/NSS changes.... and a server-side hook so that the only changes to
NSPR/NSS are the "official" history present in the NSPR and NSS import
repositories.

Thoughts?

- --BDS

- --

Benjamin Smedberg
Platform Guru
Mozilla Corporation
benjamin at smedbergs.us
http://benjamin.smedbergs.us/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH/nZTSSwGp5sTYNkRAlt9AJ4ngyojTRGFN36BKNVYoLeIosdoRQCeN9Ay
ecsuoQDVQwGlUPC8RCcwmqs=
=l63l
-----END PGP SIGNATURE-----


More information about the Mercurial mailing list