keyword: do not monkeypatch diff when in restricted mode
kw_diff actually disabled restricted mode when 2 revisions were given,
because it effectively disables the extension in this case.
But the commands working with diff and patch need restricted mode
always enabled, i.e. expansion enabled when writing to the
working directory and - crucial for these commands - no expansion
when reading the filelog.
--- a/hgext/keyword.py Wed Dec 23 13:09:11 2009 +0100
+++ b/hgext/keyword.py Wed Dec 23 12:04:04 2009 +0000
@@ -536,7 +536,8 @@
repo.__class__ = kwrepo
extensions.wrapfunction(patch.patchfile, '__init__', kwpatchfile_init)
- extensions.wrapfunction(patch, 'diff', kw_diff)
+ if not kwt.restrict:
+ extensions.wrapfunction(patch, 'diff', kw_diff)
for c in 'annotate changeset rev filediff diff'.split():
extensions.wrapfunction(webcommands, c, kwweb_skip)