[PATCH 3 of 4] localrepo: use propertycaches to access encode/decode filters
Nicolas Dumazet
nicdumz at gmail.com
Sun Oct 10 20:51:53 UTC 2010
# HG changeset patch
# User Nicolas Dumazet <nicdumz.commits at gmail.com>
# Date 1286729925 -7200
# Node ID 323badaa606b66e7cdd8090b089aaab46c1f8541
# Parent c7e1849187ed8ee918610b21a8344ce1d8a66cac
localrepo: use propertycaches to access encode/decode filters
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -594,6 +594,14 @@
return data
+ @propertycache
+ def _encodefilterpats(self):
+ return self._loadfilter('encode')
+
+ @propertycache
+ def _decodefilterpats(self):
+ return self._loadfilter('decode')
+
def adddatafilter(self, name, filter):
self._datafilters[name] = filter
@@ -602,10 +610,10 @@
data = os.readlink(self.wjoin(filename))
else:
data = self.wopener(filename, 'r').read()
- return self._filter(self._loadfilter("encode"), filename, data)
+ return self._filter(self._encodefilterpats, filename, data)
def wwrite(self, filename, data, flags):
- data = self._filter(self._loadfilter("decode"), filename, data)
+ data = self._filter(self._decodefilterpats, filename, data)
try:
os.unlink(self.wjoin(filename))
except OSError:
@@ -618,7 +626,7 @@
util.set_flags(self.wjoin(filename), False, True)
def wwritedata(self, filename, data):
- return self._filter(self._loadfilter("decode"), filename, data)
+ return self._filter(self._decodefilterpats, filename, data)
def transaction(self, desc):
tr = self._transref and self._transref() or None
More information about the Mercurial-devel
mailing list