caching pull - stable partitioning of bundle requests

Erik van Zijst erik.van.zijst at gmail.com
Tue Oct 9 01:33:26 EDT 2018


On Thu, Oct 4, 2018 at 8:16 AM Boris FELD <lothiraldan at gmail.com> wrote:
> This slicing is based on the "stablerange" algorithm. The same as the one used to bisect obsmarkers during obsmarkers discovery.
>
> The road for moving this in Core is clear, but not short. So far we have not been able to free the necessary time to do it. Between the paying-client work, we have to do to pay salaries (and keep users happy) and all the time we are already investing in the community, we are already fairly busy.
>
> In early 2017, Bitbucket gave $13, 500 to the Mercurial project to be spent to help evolution to move forward. As far as we know, this money is still unspent. Since stable range is a critical part of obsmarkers discovery, unlocking this money to be spent on upstreaming stable range would be a good idea (and fits its initial purposes). Paying for this kind of work will reduce the contention with client work and help us, or others, to dedicate time for it sooner than later.

Safe rebasing remains a priority for Bitbucket and the biggest reason
Mercurial has lost feature parity with Git on Bitbucket over the past
years as we added online merge strategies, squashing and rebasing.

While smf worked hard to add Evolve as an experimental labs feature,
along with pull request quash/rebasing, we sadly had to remove it
after customers opted in without properly realizing that Evolve is not
a Core feature and requires local installation of the extension across
all clients, plunging their workflows and repos in disarray.

Early access to non-core functionality is fine for skilled developers
thoroughly familiar with their tools, but has proved to be unsuitable
to average users and so as long as things don't land in Core they
remain out of reach for everyone. This was the motivation behind the
donation. To get Evolve, or at least the obsmarker exchange, into Core
and enabled by default. Only then can Bitbucket start to offer
rebasing workflows, regain parity with Git and position Mercurial as
the superior VCS it should be.

We sent the donation through the SFC to leave the final selection of
Evolve contributors at the discretion of the steering committee. We
had pressed for speedy allocation to those contributing materially to
Evolve's development, yet 18 months later it still has not been spent.
Even so, development of Evolve has seen substantial progress and it
seems fair to allocate the funds accordingly. The fact that the work
on obsmarker discovery is now being leveraged to extend clonebundles
to regular, non-clones pulls seems to further justify applying the
money towards this work.

Cheers,
Erik


More information about the Mercurial-devel mailing list