[PATCH] revlog: use raw revision for rawsize
Jun Wu
quark at fb.com
Fri Mar 31 13:16:49 EDT 2017
Excerpts from Yuya Nishihara's message of 2017-03-31 22:49:54 +0900:
> On Wed, 29 Mar 2017 11:30:50 +0100, Ryan McElroy wrote:
> > On 3/29/17 4:31 AM, Jun Wu wrote:
> > > # HG changeset patch
> > > # User Jun Wu <quark at fb.com>
> > > # Date 1490758201 25200
> > > # Tue Mar 28 20:30:01 2017 -0700
> > > # Node ID 5c6ebe1cd99e9557b61ef51ed88e335ac87df8da
> > > # Parent 31073077267b5e330925d48098dd6e0fd28bdd8e
> > > revlog: use raw revision for rawsize
> > >
> > > diff --git a/mercurial/revlog.py b/mercurial/revlog.py
> > > --- a/mercurial/revlog.py
> > > +++ b/mercurial/revlog.py
> > > @@ -439,5 +439,5 @@ class revlog(object):
> > > return l
> > >
> > > - t = self.revision(self.node(rev))
> > > + t = self.revision(self.node(rev), raw=True)
> > > return len(t)
> > > size = rawsize
> > >
> >
> > Having looked at the code, this is inside the "rawsize" function so this
> > is an obviously correct fix. I have marked pre-reviewed in patchwork.
>
> Yeah sounds good, but I'm not pretty sure if the "raw" of rawsize() is related
> to flagprocessor's. It was added at 56a7721ee3ec to bypass filelog.size().
Thanks for the context.
It seems it's filelog.size who needs to be fixed. It has a "XXX" comment.
With raw involved, things become tricker. I made a table at
https://patchwork.mercurial-scm.org/patch/19851/ exploring raw, non-raw,
renamed , non-raw with rename but no metadata. Maybe that should go to
help/internals.
>
> This should be queued by someone who has more knowledge.
More information about the Mercurial-devel
mailing list