# HG changeset patch # User Nicolas Dumazet # Date 1279898900 -32400 # Node ID 9df481f8036d0c5bbc3050ee4e457e13465c881e # Parent fc360de6621728c40e51370114eac05b23728e70 localrepo: refactor filter computation Separate loading part from access part to be able to tell with: repo._loadfilter(name) bool(name in repo.filterpats) if there is a 'name' filter available. diff -r fc360de66217 -r 9df481f8036d mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Jul 26 23:26:15 2010 +0200 +++ b/mercurial/localrepo.py Sat Jul 24 00:28:20 2010 +0900 @@ -510,7 +510,7 @@ def _link(self, f): return os.path.islink(self.wjoin(f)) - def _filter(self, filter, filename, data): + def _loadfilter(self, filter): if filter not in self.filterpats: l = [] for pat, cmd in self.ui.configitems(filter): @@ -533,6 +533,9 @@ l.append((mf, fn, params)) self.filterpats[filter] = l + def _filter(self, filter, filename, data): + self._loadfilter(filter) + for mf, fn, cmd in self.filterpats[filter]: if mf(filename): self.ui.debug("filtering %s through %s\n" % (filename, cmd))