context: narrow down filter special case in filectx.cmp()
authorChristian Ebert <blacktrash@gmx.net>
Thu, 14 Oct 2010 22:47:50 +0200
changeset 12731 95514b58709d
parent 12730 33e1fd2aeb3c
child 12732 4bca87c29445
context: narrow down filter special case in filectx.cmp() cmp via filelog when encode filters are present, but only when actually comparing to the working directory.
mercurial/context.py
--- a/mercurial/context.py	Thu Oct 14 21:36:00 2010 +0200
+++ b/mercurial/context.py	Thu Oct 14 22:47:50 2010 +0200
@@ -357,10 +357,11 @@
 
         returns True if different than fctx.
         """
-        if not self._repo._encodefilterpats and self.size() != fctx.size():
-            return True
+        if (fctx._filerev is None and self._repo._encodefilterpats
+            or self.size() == fctx.size()):
+            return self._filelog.cmp(self._filenode, fctx.data())
 
-        return self._filelog.cmp(self._filenode, fctx.data())
+        return True
 
     def renamed(self):
         """check if file was actually renamed in this changeset revision