This is really cool!

Though I much prefer firefoxtree's namespace updating to keep track of
remote heads over using bookmarks. I want a label that will always point
to the last known head on the server, so e.g
`hg update central && hg commit -m "Foo"` should not move 'central'.
Using bookmarks to track the remote heads is also incompatible with my
bookbinder extension which I've come to rely quite heavily on. This
would be a personal blocker for me to make the switch.

Maybe firefoxtree could be adapted to work with this new repo as well.
Or maybe I could look into doing something with remotenames.

Andrew



On 14/04/16 08:22 PM, Gregory Szorc wrote:
I'm pleased to announce the immediate availability of some *experimental*
read-only Mercurial repositories containing the combined, useful history of
the various Firefox repositories, all in chronological order and stored in
a more efficient format that is faster to clone and pull from and results
in faster client operations.

The repositories can be found at https://hg.mozilla.org/experimental. The
repository you likely want to clone is
https://hg.mozilla.org/experimental/firefox-unified. A visualization
showing the chronological history of the repo can be seen at
https://hg.mozilla.org/experimental/firefox-unified/graph.

The primary goal of these repositories is to provide developers (and
eventually automation) with more efficient interaction with the Firefox
source repositories. There are several secondary and side-benefits,
including improving the scalability of Try and MozReview's repositories.

More documentation about these repos is available at [1]. tl;dr

* The repositories contain all the commits from the Firefox repositories
you use everyday (central, inbound, fx-team, aurora, beta, esr, etc).
* The repositories do not contain all the *_RELBRANCH branches (which
basically have no value to the average developer).
* Thes unified repositories are ~300MB *smaller* than mozilla-central
despite containing ~28,000 more commits. This was achieved through light
magic.
* Mercurial bookmarks are used to track the heads of the various Firefox
repos.
* The pushlog data is derived from the first known push of a changeset, so
it should match what's on e.g. central, inbound, etc.
* Sadly, git-cinnabar won't be able to talk to these repos just yet due to
git-cinnabar not supporting some modern Mercurial features. A GitHub issue
is on file at [2].

If you use the "firefoxtree" extension to manage a unified repository
today, you should consider switching to one of these new unified
repositories instead: it should be faster and easier to reason about.

The repositories have the "experimental" label attached so we can reserve
the right to make changes without people complaining too loudly about
backwards compatibility. (But I wouldn't worry too much about stability -
I'm committed to keeping these running and improving them.) The goal is to
flush out issues with these repositories then remove the "experimental"
label. After that, we can have automation start consuming these
repositories. After that, we can perhaps start thinking about consolidating
around a single, canonical repository, including pushing. But that's a
topic for another day.

I'm very anxious for feedback on these repositories. Please make noise in
dev-version-cont...@lists.mozilla.org, #vcs, the "Developer Services:
Mercurial: hg.mozilla.org" bug component, or in bug 1108729.

[1]
https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/unifiedrepo.html
[2] https://github.com/glandium/git-cinnabar/issues/64


_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to