hgkw/keyword.py
changeset 842 12f6e285e4e7
parent 840 df93d61a7790
child 846 d565787a8a5d
--- a/hgkw/keyword.py	Wed Oct 13 09:21:19 2010 +0100
+++ b/hgkw/keyword.py	Thu Oct 14 22:53:17 2010 +0200
@@ -594,9 +594,14 @@
     def kwfilectx_cmp(orig, self, fctx):
         # keyword affects data size, comparing wdir and filelog size does
         # not make sense
-        return self._filelog.cmp(self._filenode, fctx.data())
+        if (fctx._filerev is None and
+            (self._repo._encodefilterpats or
+             kwt.match(fctx.path()) and not 'l' in fctx.flags()) or
+            self.size() == fctx.size()):
+            return self._filelog.cmp(self._filenode, fctx.data())
+        return True
+
     extensions.wrapfunction(context.filectx, 'cmp', kwfilectx_cmp)
-
     extensions.wrapfunction(patch.patchfile, '__init__', kwpatchfile_init)
     extensions.wrapfunction(patch, 'diff', kw_diff)
     extensions.wrapfunction(cmdutil, 'copy', kw_copy)