##// END OF EJS Templates
dirstate.walk: cache match.explicitdir and traversedir locally
Siddharth Agarwal -
r19142:c3d3e4d7 default
parent child Browse files
Show More
@@ -561,6 +561,8 b' class dirstate(object):'
561
561
562 matchfn = match.matchfn
562 matchfn = match.matchfn
563 matchalways = match.always()
563 matchalways = match.always()
564 matchedir = match.explicitdir
565 matchtdir = match.traversedir
564 badfn = match.bad
566 badfn = match.bad
565 dmap = self._map
567 dmap = self._map
566 normpath = util.normpath
568 normpath = util.normpath
@@ -621,7 +623,7 b' class dirstate(object):'
621 if nf in dmap:
623 if nf in dmap:
622 #file deleted on disk but still in dirstate
624 #file deleted on disk but still in dirstate
623 results[nf] = None
625 results[nf] = None
624 match.explicitdir(nf)
626 matchedir(nf)
625 if not dirignore(nf):
627 if not dirignore(nf):
626 wadd(nf)
628 wadd(nf)
627 elif kind == regkind or kind == lnkkind:
629 elif kind == regkind or kind == lnkkind:
@@ -637,7 +639,7 b' class dirstate(object):'
637 prefix = nf + "/"
639 prefix = nf + "/"
638 for fn in dmap:
640 for fn in dmap:
639 if fn.startswith(prefix):
641 if fn.startswith(prefix):
640 match.explicitdir(nf)
642 matchedir(nf)
641 skipstep3 = False
643 skipstep3 = False
642 break
644 break
643 else:
645 else:
@@ -666,7 +668,7 b' class dirstate(object):'
666 if nf not in results:
668 if nf not in results:
667 if kind == dirkind:
669 if kind == dirkind:
668 if not ignore(nf):
670 if not ignore(nf):
669 match.traversedir(nf)
671 matchtdir(nf)
670 wadd(nf)
672 wadd(nf)
671 if nf in dmap and (matchalways or matchfn(nf)):
673 if nf in dmap and (matchalways or matchfn(nf)):
672 results[nf] = None
674 results[nf] = None
General Comments 0
You need to be logged in to leave comments. Login now