On Thu, Nov 24, 2016 at 9:52 AM, Jun Wu <qu...@fb.com> wrote: > Excerpts from Augie Fackler's message of 2016-11-17 12:42:26 -0500: > > My own cursory perfbdiff runs suggest this is a perf wash (using > > `perfbdiff -m 3041e4d59df2` in the mozilla repo). Queued. Thanks! > > I'd mention this series changes the behavior of the diff output. The > difference was caught by fastannotate test. > > See the below table (old: e1d6aa0e4c3a, new: 8836f13e3c5b): > > a | b | old | new > -------------------- > a | a | a | -a > a | z | +z | a > a | a | a | +z > | | -a | a > -------------------- > a | a | a > a | a | a > a | | -a > > I think we would always prefer putting deletions at the end, to be > consistent. >
And herein lies an important distinction: we currently rely on bdiff for both internal revlog and changegroup delta storage and user presentation (we iterate bdiff blocks to drive the unified diff printing in mdiff._unidiff). These are obviously vastly different use cases, with internal used wanting to optimize for minimal resource consumption in many cases and user-facing wanting to optimize for human readability. We can preserve the format of the user-facing diffs by making the bdiff behavior conditional on various flags or by post-processing the bdiff output.
_______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel