diff -r 11af38a592ae -r f8ad3b76e923 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Jan 28 21:39:47 2008 +0100 +++ b/mercurial/localrepo.py Fri Dec 21 23:21:17 2007 -0500 @@ -10,7 +10,7 @@ import repo, changegroup import changelog, dirstate, filelog, manifest, context, weakref import re, lock, transaction, tempfile, stat, errno, ui -import os, revlog, time, util, extensions, hook +import os, revlog, time, util, extensions, hook, inspect class localrepository(repo.repository): capabilities = util.set(('lookup', 'changegroupsubset')) @@ -492,14 +492,18 @@ fn = filterfn break if not fn: - fn = lambda s, c: util.filter(s, c) + fn = lambda s, c, **kwargs: util.filter(s, c) + # Wrap old filters not supporting keyword arguments + if not inspect.getargspec(fn)[2]: + oldfn = fn + fn = lambda s, c, **kwargs: oldfn(s, c) l.append((mf, fn, cmd)) self.filterpats[filter] = l for mf, fn, cmd in self.filterpats[filter]: if mf(filename): self.ui.debug(_("filtering %s through %s\n") % (filename, cmd)) - data = fn(data, cmd) + data = fn(data, cmd, ui=self.ui, repo=self, filename=filename) break return data