[PATCH 3 of 3] keyword: disable expansion for annotate
Christian Ebert
blacktrash at gmx.net
Wed Jun 11 20:28:22 CDT 2008
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1213232493 -7200
# Node ID 072348530d50444dc628e8be2752b1c5980ebf72
# Parent 6e7c0324316554ed604e8c6d93c9db7bc1198569
keyword: disable expansion for annotate
Keyword expansion should not be annotated.
Annotate revision when unexpanded keyword was inserted.
Add test.
diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -88,7 +88,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 --git a/tests/test-keyword b/tests/test-keyword
--- a/tests/test-keyword
+++ b/tests/test-keyword
@@ -214,6 +214,8 @@
echo % hg cat
hg cat sym a b
echo
+echo % annotate
+hg annotate a
echo % remove
hg debugrebuildstate
diff --git a/tests/test-keyword.out b/tests/test-keyword.out
--- a/tests/test-keyword.out
+++ b/tests/test-keyword.out
@@ -294,6 +294,11 @@
$Xinfo: User Name <user at example.com>: firstline $
ignore $Id$
a
+% annotate
+1: expand $Id$
+1: do not process $Id:
+1: xxx $
+2: $Xinfo$
% remove
% status
% rollback
More information about the Mercurial-devel
mailing list