# HG changeset patch # User Boris Feld # Date 2018-10-22 13:47:30 # Node ID 6bd477ee729473160d1cd99554f4f1f5d6a87f58 # Parent db0dba2d157da7be9ef9364d9562f36da956af70 logtoprocess: fix message formatting The logtoprocess used to try formatting the message using keyword options instead of always using the rest of the arguments. Update it to match blackbox behavior. Differential Revision: https://phab.mercurial-scm.org/D5180 diff --git a/hgext/logtoprocess.py b/hgext/logtoprocess.py --- a/hgext/logtoprocess.py +++ b/hgext/logtoprocess.py @@ -113,10 +113,8 @@ def uisetup(ui): # try to format the log message given the remaining # arguments try: - # Python string formatting with % either uses a - # dictionary *or* tuple, but not both. If we have - # keyword options, assume we need a mapping. - formatted = msg[0] % (opts or msg[1:]) + # Format the message as blackbox does + formatted = msg[0] % msg[1:] except (TypeError, KeyError): # Failed to apply the arguments, ignore formatted = msg[0] diff --git a/tests/test-logtoprocess.t b/tests/test-logtoprocess.t --- a/tests/test-logtoprocess.t +++ b/tests/test-logtoprocess.t @@ -19,7 +19,7 @@ Test if logtoprocess correctly captures > ) > @command(b'foo', []) > def foo(ui, repo): - > ui.log('foo', 'a message: %(bar)s\n', bar='spam') + > ui.log('foo', 'a message: %s\n', 'spam') > EOF $ cp $HGRCPATH $HGRCPATH.bak $ cat >> $HGRCPATH << EOF @@ -39,7 +39,7 @@ Test if logtoprocess correctly captures > foo=(echo 'logtoprocess foo output:'; > echo "\$EVENT"; > echo "\$MSG1"; - > echo "\$OPT_BAR") > $TESTTMP/foo.log + > echo "\$MSG2") > $TESTTMP/foo.log > EOF Running a command triggers both a ui.log('command') and a