# HG changeset patch
# User Christian Ebert <blacktrash@gmx.net>
# Date 1286958079 -3600
# Node ID a6865ff86aaf248e7ec3483197276ffa641f0ab1
# Parent  c793c1a87f1cc203e4b8c4f790043a38400b7211# Parent  df93d61a7790e535f47b4d9c53862a1ad13bae16
Merge with stable

diff -r c793c1a87f1c -r a6865ff86aaf hgkw/keyword.py
--- a/hgkw/keyword.py	Tue Oct 12 16:29:32 2010 +0100
+++ b/hgkw/keyword.py	Wed Oct 13 09:21:19 2010 +0100
@@ -82,7 +82,7 @@
 {desc}" expands to the first line of the changeset description.
 '''
 
-from mercurial import commands, cmdutil, dispatch, filelog, extensions
+from mercurial import commands, context, cmdutil, dispatch, filelog, extensions
 from mercurial import localrepo, match, patch, templatefilters, templater, util
 from mercurial.hgweb import webcommands
 from mercurial.i18n import _
@@ -591,6 +591,12 @@
 
     repo.__class__ = kwrepo
 
+    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())
+    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)