[PATCH] dirstate: avoid invalidating every entries when list is empty

Augie Fackler raf at durin42.com
Fri Jun 5 12:41:47 CDT 2015


On Thu, Jun 04, 2015 at 10:35:18PM -0700, Pierre-Yves David wrote:
>
>
> On 06/04/2015 10:24 PM, Martin von Zweigbergk wrote:
> >
> >
> >On Thu, Jun 4, 2015 at 10:20 PM Pierre-Yves David
> ><pierre-yves.david at ens-lyon.org <mailto:pierre-yves.david at ens-lyon.org>>
> >wrote:
> >
> >    # HG changeset patch
> >    # User Pierre-Yves David <pierre-yves.david at fb.com
> >    <mailto:pierre-yves.david at fb.com>>
> >    # Date 1433481032 25200
> >    #      Thu Jun 04 22:10:32 2015 -0700
> >    # Node ID 88a6501758d2779176b47f23a0bca33f563881d8
> >    # Parent  51e7acc34b0ab0e540dffdb22127914f2353d5e2
> >    dirstate: avoid invalidating every entries when list is empty
> >
> >    Default value was not tested with 'is None', this made empty list
> >    seen as
> >    default value and result the invalidation of every single entry in the
> >    dirstate. On repos with hundred of thousand of files, this results
> >    in minutes
> >    of lookup time instead nothing.
> >
> >
> >On what command?
>
> This is trigger by the `hg reset` command from our experimental extensions.
> That's an API bug, I'm not aware of any faulty user in core (but spend ΓΈ
> time searching).

Looks like enough of a correctness fix I'm queueing it. Thanks!

>
> --
> Pierre-Yves David
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list