Skip to content
Snippets Groups Projects
Commit 6bd477ee authored by Boris Feld's avatar Boris Feld
Browse files

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
parent db0dba2d
No related branches found
No related tags found
No related merge requests found
......@@ -113,10 +113,8 @@
# 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]
......
......@@ -19,7 +19,7 @@
> )
> @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 @@
> 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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment