[PATCH 2 of 8] _addrevision: choose between ifh and dfh once for all

Gregory Szorc gregory.szorc at gmail.com
Sun Jan 14 16:08:26 EST 2018


On Sun, Jan 14, 2018 at 2:28 AM, Paul Morelle <paul.morelle at octobus.net>
wrote:

> # HG changeset patch
> # User Paul Morelle <paul.morelle at octobus.net>
> # Date 1515771775 -3600
> #      Fri Jan 12 16:42:55 2018 +0100
> # Node ID 84eb864137a7b27e2357eb4f6d465f726670dc98
> # Parent  7526dfca3d32e7c51864c21de2c2f4735c4cade6
> # EXP-Topic refactor-revlog
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r
> 84eb864137a7
> _addrevision: choose between ifh and dfh once for all
>

Queued parts 2-8. The entire series is now queued.

FWIW, I was thinking about enabling aggressivemergedeltas by default. Perf
work around bdiff optimization in the past ~1 year has made it fast enough
that only very large fulltexts have noticeable performance loss from
enabling the feature. If you make delta generation faster in the remainder
of this series, I think there should be little reason to not enable
aggressivemergedeltas by default.


>
> diff -r 7526dfca3d32 -r 84eb864137a7 mercurial/revlog.py
> --- a/mercurial/revlog.py       Thu Jan 11 11:59:02 2018 +0100
> +++ b/mercurial/revlog.py       Fri Jan 12 16:42:55 2018 +0100
> @@ -1901,6 +1901,11 @@
>              raise RevlogError(_("%s: attempt to add wdir revision") %
>                                (self.indexfile))
>
> +        if self._inline:
> +            fh = ifh
> +        else:
> +            fh = dfh
> +
>          btext = [rawtext]
>          def buildtext():
>              if btext[0] is not None:
> @@ -1915,10 +1920,6 @@
>                                                         len(delta) - hlen):
>                  btext[0] = delta[hlen:]
>              else:
> -                if self._inline:
> -                    fh = ifh
> -                else:
> -                    fh = dfh
>                  basetext = self.revision(baserev, _df=fh, raw=True)
>                  btext[0] = mdiff.patch(basetext, delta)
>
> @@ -1947,10 +1948,6 @@
>                      header = mdiff.replacediffheader(self.rawsize(rev),
> len(t))
>                      delta = header + t
>                  else:
> -                    if self._inline:
> -                        fh = ifh
> -                    else:
> -                        fh = dfh
>                      ptext = self.revision(rev, _df=fh, raw=True)
>                      delta = mdiff.textdiff(ptext, t)
>              header, data = self.compress(delta)
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20180114/d382cec3/attachment.html>


More information about the Mercurial-devel mailing list