# HG changeset patch # User Christian Ebert # Date 1200478936 -3600 # Node ID 5ef2b11df3d3525a3b4aadff15d2c8abb9fe1d94 # Parent 9e9f6cbcf20bae1b57eab66a990b55bb34e10e40 Avoid extra diffs when not comparing against working dir When diffing against specified revisions expanded keywords only get in the way. Update test output. diff -r 9e9f6cbcf20b -r 5ef2b11df3d3 hgkw/keyword.py --- a/hgkw/keyword.py Tue Jan 15 13:19:23 2008 +0100 +++ b/hgkw/keyword.py Wed Jan 16 11:22:16 2008 +0100 @@ -96,7 +96,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 @@ -421,6 +422,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': diff -r 9e9f6cbcf20b -r 5ef2b11df3d3 tests/test-keyword.out --- a/tests/test-keyword.out Tue Jan 15 13:19:23 2008 +0100 +++ b/tests/test-keyword.out Wed Jan 16 11:22:16 2008 +0100 @@ -188,7 +188,7 @@ diff -r f782df5f9602 c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,3 @@ -+expand $Id: c,v 0ba462c0f077 1970/01/01 00:00:01 user $ ++expand $Id$ +do not process $Id: +xxx $ % rollback