Mercurial > public > mercurial-scm > hg-stable
diff hgext/keyword.py @ 5885:53be157543d4
keyword: avoid extra diffs when not comparing against working dir
When diffing against specified revisions expanded keywords
only get in the way.
Update test output.
author | Christian Ebert <blacktrash@gmx.net> |
---|---|
date | Tue, 15 Jan 2008 14:39:53 +0100 |
parents | a139f141dcae |
children | d0576d065993 |
line wrap: on
line diff
--- a/hgext/keyword.py Tue Jan 15 13:58:22 2008 +0100 +++ b/hgext/keyword.py Tue Jan 15 14:39:53 2008 +0100 @@ -94,7 +94,8 @@ '''Returns True if cmd should trigger restricted expansion. Keywords will only expanded when writing to working dir. Crucial for mq as expanded keywords should not make it into patches.''' - return cmd in ('qimport', 'qnew', 'qpush', 'qrefresh', 'record', 'qrecord') + return cmd in ('diff1', + 'qimport', 'qnew', 'qpush', 'qrefresh', 'record', 'qrecord') _kwtemplater = None @@ -419,6 +420,15 @@ if hgcmd in nokwcommands: return + if hgcmd == 'diff': + # only expand if comparing against working dir + node1, node2 = cmdutil.revpair(repo, cmdopts.get('rev')) + if node2 is not None: + return + # shrink if rev is not current node + if node1 is not None and node1 != repo.changectx().node(): + hgcmd = 'diff1' + inc, exc = [], ['.hgtags'] for pat, opt in ui.configitems('keyword'): if opt != 'ignore':