[PATCH 3 of 4] dirstate: skip step 3 in walk if nothing new will match

Simon Heimberg simohe at besonet.ch
Tue May 19 08:44:37 CDT 2009


Am Dienstag, den 19.05.2009, 15:33 +0200 schrieb Benoit Boissinot:
> On Tue, May 19, 2009 at 07:27:37AM +0000, Simon Heimberg wrote:
> > # HG changeset patch
> > # User Simon Heimberg <simohe at besonet.ch>
> > # Date 1242323666 -7200
> > # Node ID 19a134f738f5ac0720bc08fbe6507f4eb4769fd9
> > # Parent  4095d02302b74f9ce2c90fe283d84ad31ce2da83
> > dirstate: skip step 3 in walk if nothing new will match
> > 
> > nothing will ever match on match.never
> > nothing new will match on match.exact (all found in step 1)
> > nothing new will match on match.match when
> >   there is no pattern and
> >   there is no direcory in pats
> > 
> > diff -r 4095d02302b7 -r 19a134f738f5 mercurial/dirstate.py
> > --- a/mercurial/dirstate.py	Don Mai 14 10:50:45 2009 +0200
> > +++ b/mercurial/dirstate.py	Don Mai 14 19:54:26 2009 +0200
> > @@ -460,6 +460,11 @@
> >          join = self._join
> >          work = []
> >          wadd = work.append
> > +        dostep3 = match.anypats() or match.__class__.__name__ == 'always'
> > +        nomatches = not dostep3 and match.__class__.__name__ in 'never exact'.split()
> 
> would isinstance() work here ?

Sure, but only when match is imported. Shall I resend whith this change?

> 
> regards,
> 
> Benoit
> 


More information about the Mercurial-devel mailing list