<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Apr 15, 2016 at 7:16 AM, Andrew Halberstadt <span dir="ltr"><<a href="mailto:ahalberstadt@mozilla.com" target="_blank">ahalberstadt@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is really cool!<br>
<br>
Though I much prefer firefoxtree's namespace updating to keep track of<br>
remote heads over using bookmarks. I want a label that will always point<br>
to the last known head on the server, so e.g<br>
`hg update central && hg commit -m "Foo"` should not move 'central'.<br>
Using bookmarks to track the remote heads is also incompatible with my<br>
bookbinder extension which I've come to rely quite heavily on. This<br>
would be a personal blocker for me to make the switch.<br>
<br>
Maybe firefoxtree could be adapted to work with this new repo as well.<br>
Or maybe I could look into doing something with remotenames.<br></blockquote><div><br></div><div>There is actually a mode in firefoxtree where the server can advertise the labels. We're not using it on the unified repo yet, but we could. Let's hash something out in bug 1264814.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class=""><font color="#888888">
</font></span><div class=""><div class="h5"><br>
<br>
<br>
<br>
On 14/04/16 08:22 PM, Gregory Szorc wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I'm pleased to announce the immediate availability of some *experimental*<br>
read-only Mercurial repositories containing the combined, useful history of<br>
the various Firefox repositories, all in chronological order and stored in<br>
a more efficient format that is faster to clone and pull from and results<br>
in faster client operations.<br>
<br>
The repositories can be found at <a href="https://hg.mozilla.org/experimental" rel="noreferrer" target="_blank">https://hg.mozilla.org/experimental</a>. The<br>
repository you likely want to clone is<br>
<a href="https://hg.mozilla.org/experimental/firefox-unified" rel="noreferrer" target="_blank">https://hg.mozilla.org/experimental/firefox-unified</a>. A visualization<br>
showing the chronological history of the repo can be seen at<br>
<a href="https://hg.mozilla.org/experimental/firefox-unified/graph" rel="noreferrer" target="_blank">https://hg.mozilla.org/experimental/firefox-unified/graph</a>.<br>
<br>
The primary goal of these repositories is to provide developers (and<br>
eventually automation) with more efficient interaction with the Firefox<br>
source repositories. There are several secondary and side-benefits,<br>
including improving the scalability of Try and MozReview's repositories.<br>
<br>
More documentation about these repos is available at [1]. tl;dr<br>
<br>
* The repositories contain all the commits from the Firefox repositories<br>
you use everyday (central, inbound, fx-team, aurora, beta, esr, etc).<br>
* The repositories do not contain all the *_RELBRANCH branches (which<br>
basically have no value to the average developer).<br>
* Thes unified repositories are ~300MB *smaller* than mozilla-central<br>
despite containing ~28,000 more commits. This was achieved through light<br>
magic.<br>
* Mercurial bookmarks are used to track the heads of the various Firefox<br>
repos.<br>
* The pushlog data is derived from the first known push of a changeset, so<br>
it should match what's on e.g. central, inbound, etc.<br>
* Sadly, git-cinnabar won't be able to talk to these repos just yet due to<br>
git-cinnabar not supporting some modern Mercurial features. A GitHub issue<br>
is on file at [2].<br>
<br>
If you use the "firefoxtree" extension to manage a unified repository<br>
today, you should consider switching to one of these new unified<br>
repositories instead: it should be faster and easier to reason about.<br>
<br>
The repositories have the "experimental" label attached so we can reserve<br>
the right to make changes without people complaining too loudly about<br>
backwards compatibility. (But I wouldn't worry too much about stability -<br>
I'm committed to keeping these running and improving them.) The goal is to<br>
flush out issues with these repositories then remove the "experimental"<br>
label. After that, we can have automation start consuming these<br>
repositories. After that, we can perhaps start thinking about consolidating<br>
around a single, canonical repository, including pushing. But that's a<br>
topic for another day.<br>
<br>
I'm very anxious for feedback on these repositories. Please make noise in<br>
<a href="mailto:dev-version-control@lists.mozilla.org" target="_blank">dev-version-control@lists.mozilla.org</a>, #vcs, the "Developer Services:<br>
Mercurial: <a href="http://hg.mozilla.org" rel="noreferrer" target="_blank">hg.mozilla.org</a>" bug component, or in bug 1108729.<br>
<br>
[1]<br>
<a href="https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/unifiedrepo.html" rel="noreferrer" target="_blank">https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/unifiedrepo.html</a><br>
[2] <a href="https://github.com/glandium/git-cinnabar/issues/64" rel="noreferrer" target="_blank">https://github.com/glandium/git-cinnabar/issues/64</a><br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div></div>