# HG changeset patch # User Christian Ebert # Date 1213261804 -7200 # Node ID 55f535bc13bcf6aee6a2623854a71ebe675777b4 # Parent d2147d34798e3b4cf282494c7f832fa5cfc05315 keyword: disable expansion for annotate Keyword expansion should not be annotated. Annotate revision when unexpanded keyword was inserted. Add test. diff -r d2147d34798e -r 55f535bc13bc hgkw/keyword.py --- a/hgkw/keyword.py Wed May 14 02:47:38 2008 +0200 +++ b/hgkw/keyword.py Thu Jun 12 11:10:04 2008 +0200 @@ -90,7 +90,7 @@ commands.optionalrepo += ' kwdemo' # hg commands that do not act on keywords -nokwcommands = ('add addremove bundle copy export grep incoming init' +nokwcommands = ('add addremove annotate bundle copy export grep incoming init' ' log outgoing push rename rollback tip' ' convert email glog') @@ -515,6 +515,11 @@ kwt.restrict = True patch_diff(repo, node1, node2, match, fp, changes, opts) + def kwweb_annotate(web, req, tmpl): + '''Wraps webcommands.annotate turning off keyword expansion.''' + kwt.matcher = util.never + return webcommands_annotate(web, req, tmpl) + def kwweb_changeset(web, req, tmpl): '''Wraps webcommands.changeset turning off keyword expansion.''' kwt.matcher = util.never @@ -529,11 +534,13 @@ patchfile_init = patch.patchfile.__init__ patch_diff = patch.diff + webcommands_annotate = webcommands.annotate webcommands_changeset = webcommands.changeset webcommands_filediff = webcommands.filediff patch.patchfile.__init__ = kwpatchfile_init patch.diff = kw_diff + webcommands.annotate = kwweb_annotate webcommands.changeset = webcommands.rev = kwweb_changeset webcommands.filediff = webcommands.diff = kwweb_filediff diff -r d2147d34798e -r 55f535bc13bc tests/test-keyword --- a/tests/test-keyword Wed May 14 02:47:38 2008 +0200 +++ b/tests/test-keyword Thu Jun 12 11:10:04 2008 +0200 @@ -214,6 +214,8 @@ echo % hg cat hg cat sym a b echo +echo % annotate +hg annotate a echo % remove hg debugrebuildstate diff -r d2147d34798e -r 55f535bc13bc tests/test-keyword.out --- a/tests/test-keyword.out Wed May 14 02:47:38 2008 +0200 +++ b/tests/test-keyword.out Thu Jun 12 11:10:04 2008 +0200 @@ -294,6 +294,11 @@ $Xinfo: User Name : firstline $ ignore $Id$ a +% annotate +1: expand $Id$ +1: do not process $Id: +1: xxx $ +2: $Xinfo$ % remove % status % rollback