##// END OF EJS Templates
Experimental ignore regex speed-up...
Matt Mackall -
r649:a7e26722 default
parent child Browse files
Show More
@@ -487,7 +487,7 b' class localrepository:'
487 487 self.wopener = opener(self.root)
488 488 self.manifest = manifest(self.opener)
489 489 self.changelog = changelog(self.opener)
490 self.ignorelist = None
490 self.ignorefunc = None
491 491 self.tagscache = None
492 492 self.nodetagscache = None
493 493
@@ -498,17 +498,22 b' class localrepository:'
498 498 except IOError: pass
499 499
500 500 def ignore(self, f):
501 if self.ignorelist is None:
502 self.ignorelist = []
501 if not self.ignorefunc:
502 bigpat = []
503 503 try:
504 504 l = file(self.wjoin(".hgignore"))
505 505 for pat in l:
506 506 if pat != "\n":
507 self.ignorelist.append(re.compile(util.pconvert(pat[:-1])))
507 bigpat.append(util.pconvert(pat[:-1]))
508 508 except IOError: pass
509 for pat in self.ignorelist:
510 if pat.search(f): return True
511 return False
509 if bigpat:
510 s = "(%s)" % (")|(".join(bigpat))
511 r = re.compile(s)
512 self.ignorefunc = r.search
513 else:
514 self.ignorefunc = lambda x: False
515
516 return self.ignorefunc(f)
512 517
513 518 def hook(self, name, **args):
514 519 s = self.ui.config("hooks", name)
General Comments 0
You need to be logged in to leave comments. Login now