mercurial/localrepo.py
changeset 6066 f3a8b5360100
parent 6065 53ed9b40cfc4
child 6118 b69a39ab4745
equal deleted inserted replaced
6065:53ed9b40cfc4 6066:f3a8b5360100
   499         if filter not in self.filterpats:
   499         if filter not in self.filterpats:
   500             l = []
   500             l = []
   501             for pat, cmd in self.ui.configitems(filter):
   501             for pat, cmd in self.ui.configitems(filter):
   502                 mf = util.matcher(self.root, "", [pat], [], [])[1]
   502                 mf = util.matcher(self.root, "", [pat], [], [])[1]
   503                 fn = None
   503                 fn = None
       
   504                 params = cmd
   504                 for name, filterfn in self._datafilters.iteritems():
   505                 for name, filterfn in self._datafilters.iteritems():
   505                     if cmd.startswith(name): 
   506                     if cmd.startswith(name): 
   506                         fn = filterfn
   507                         fn = filterfn
       
   508                         params = cmd[len(name):].lstrip()
   507                         break
   509                         break
   508                 if not fn:
   510                 if not fn:
   509                     fn = lambda s, c, **kwargs: util.filter(s, c)
   511                     fn = lambda s, c, **kwargs: util.filter(s, c)
   510                 # Wrap old filters not supporting keyword arguments
   512                 # Wrap old filters not supporting keyword arguments
   511                 if not inspect.getargspec(fn)[2]:
   513                 if not inspect.getargspec(fn)[2]:
   512                     oldfn = fn
   514                     oldfn = fn
   513                     fn = lambda s, c, **kwargs: oldfn(s, c)
   515                     fn = lambda s, c, **kwargs: oldfn(s, c)
   514                 l.append((mf, fn, cmd))
   516                 l.append((mf, fn, params))
   515             self.filterpats[filter] = l
   517             self.filterpats[filter] = l
   516 
   518 
   517         for mf, fn, cmd in self.filterpats[filter]:
   519         for mf, fn, cmd in self.filterpats[filter]:
   518             if mf(filename):
   520             if mf(filename):
   519                 self.ui.debug(_("filtering %s through %s\n") % (filename, cmd))
   521                 self.ui.debug(_("filtering %s through %s\n") % (filename, cmd))