# HG changeset patch # User Nicolas Dumazet # Date 2010-07-23 15:28:20 # 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 --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -510,7 +510,7 @@ class localrepository(repo.repository): 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 @@ class localrepository(repo.repository): 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))