[PATCH 2 of 4] localrepo: load filter patterns outside of _filter

Nicolas Dumazet nicdumz at gmail.com
Sun Oct 10 15:51:52 CDT 2010


# HG changeset patch
# User Nicolas Dumazet <nicdumz.commits at gmail.com>
# Date 1286730616 -7200
# Node ID c7e1849187ed8ee918610b21a8344ce1d8a66cac
# Parent  4c1bcb275e8dea23503211d04c2a35b75c14d385
localrepo: load filter patterns outside of _filter

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -585,8 +585,8 @@
             self.filterpats[filter] = l
         return self.filterpats[filter]
 
-    def _filter(self, filter, filename, data):
-        for mf, fn, cmd in self._loadfilter[filter]:
+    def _filter(self, filterpats, filename, data):
+        for mf, fn, cmd in filterpats:
             if mf(filename):
                 self.ui.debug("filtering %s through %s\n" % (filename, cmd))
                 data = fn(data, cmd, ui=self.ui, repo=self, filename=filename)
@@ -602,10 +602,10 @@
             data = os.readlink(self.wjoin(filename))
         else:
             data = self.wopener(filename, 'r').read()
-        return self._filter("encode", filename, data)
+        return self._filter(self._loadfilter("encode"), filename, data)
 
     def wwrite(self, filename, data, flags):
-        data = self._filter("decode", filename, data)
+        data = self._filter(self._loadfilter("decode"), filename, data)
         try:
             os.unlink(self.wjoin(filename))
         except OSError:
@@ -618,7 +618,7 @@
                 util.set_flags(self.wjoin(filename), False, True)
 
     def wwritedata(self, filename, data):
-        return self._filter("decode", filename, data)
+        return self._filter(self._loadfilter("decode"), filename, data)
 
     def transaction(self, desc):
         tr = self._transref and self._transref() or None


More information about the Mercurial-devel mailing list