changegroup: introduce an explicit linear sorting
ClosedPublic

Authored by lothiraldan on Oct 30 2018, 12:28 PM.

Details

Summary

We still need to linearize the revisions in some cases, introduce an explicit
linear sorting before changing back the default order.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
lothiraldan created this revision.Oct 30 2018, 12:28 PM
yuja added a subscriber: yuja.Oct 31 2018, 7:59 AM
We still need to linearize the revisions in some cases, introduce an explicit
`linear` sorting before changing back the default order.

I'm a little confused about this. We do introduce nodesorder='linear', but
there seems no user of that option. Are there unsent patches?

In D5195#77638, @yuja wrote:
We still need to linearize the revisions in some cases, introduce an explicit
`linear` sorting before changing back the default order.

I'm a little confused about this. We do introduce nodesorder='linear', but
there seems no user of that option. Are there unsent patches?

The message should have said We **may** still need to. There is no user of that option yet so we can drop it.

I think we should at least keep the option in storageutil.emitrevision so we can experiment around doing a DAG sort for various operations, @indygreg seems to have some perf improvements on the firefox repo with it

yuja added a comment.Oct 31 2018, 9:51 AM
> >   We still need to linearize the revisions in some cases, introduce an explicit
> >   `linear` sorting before changing back the default order.
>
> I'm a little confused about this. We do introduce `nodesorder='linear'`, but
>  there seems no user of that option. Are there unsent patches?


The message should have said `We **may** still need to`. There is no user of that option yet so we can drop it.

I think we should at least keep the option in `storageutil.emitrevision` so we can experiment around doing a DAG sort for various operations, @indygreg seems to have some perf improvements on the firefox repo with it

Got it, thanks. The series looks good, but I leave it to indygreg as he
might have a better idea.

indygreg accepted this revision.Oct 31 2018, 2:59 PM

Yeah, I'm OK with this. There is tons of room to experiment with different ordering techniques - including making it end-user configurable. Having this code in place is a step in the right direction.

This revision is now accepted and ready to land.Oct 31 2018, 2:59 PM
This revision was automatically updated to reflect the committed changes.