# HG changeset patch # User Christian Ebert # Date 1326631053 -3600 # Node ID 91e083fab1a324c7f1813ccf3b7b4b7358aefe5c # Parent 15aa105f81e282899666853ad3f9f1ea8437d2a6 Update filectx.cmp monkeypatch to handle '\1\n' at start of file Analogous to 012b285cf643 in mercurial main. diff -r 15aa105f81e2 -r 91e083fab1a3 hgkw/keyword.py --- a/hgkw/keyword.py Thu Jan 19 01:50:48 2012 +0100 +++ b/hgkw/keyword.py Sun Jan 15 13:37:33 2012 +0100 @@ -680,7 +680,8 @@ # not make sense if (fctx._filerev is None and (self._repo._encodefilterpats or - kwt.match(fctx.path()) and not 'l' in fctx.flags()) or + kwt.match(fctx.path()) and not 'l' in fctx.flags() or + self.size() - 4 == fctx.size()) or self.size() == fctx.size()): return self._filelog.cmp(self._filenode, fctx.data()) return True diff -r 15aa105f81e2 -r 91e083fab1a3 tests/test-keyword.t --- a/tests/test-keyword.t Thu Jan 19 01:50:48 2012 +0100 +++ b/tests/test-keyword.t Sun Jan 15 13:37:33 2012 +0100 @@ -162,13 +162,31 @@ ignore $Id$ a -Test hook execution - $ diff a hooktest $ cp $HGRCPATH.nohooks $HGRCPATH $ rm hooktest +hg status of kw-ignored binary file starting with '\1\n' + + $ printf '\1\nfoo' > i + $ hg -q commit -Am metasep i + $ hg status + $ printf '\1\nbar' > i + $ hg status + M i + $ hg -q commit -m "modify metasep" i + $ hg status --rev 2:3 + M i + $ touch empty + $ hg -q commit -A -m "another file" + $ hg status -A --rev 3:4 i + C i + + $ hg -q strip -n 2 + +Test hook execution + bundle $ hg bundle --base null ../kw.hg