Mercurial > hg
changeset 31500:bc315e669a32
dispatch: replace mayberepr with shellquote
The quoting logic here was actually insufficient, and would have had
bogus b-prefixes on Python 3. shellquote seems more appropriate
anyway. Surprisingly, only two tests have output changes, and both of
them look reasonable to me (both are in blackbox logs).
Spotted by Yuya during review.
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 19 Mar 2017 14:23:30 -0400 |
parents | 31d2ddfd338c |
children | a1e40ceee640 |
files | mercurial/dispatch.py tests/test-blackbox.t tests/test-devel-warnings.t |
diffstat | 3 files changed, 3 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dispatch.py Sun Mar 19 12:44:45 2017 -0400 +++ b/mercurial/dispatch.py Sun Mar 19 14:23:30 2017 -0400 @@ -92,13 +92,8 @@ if inst.hint: write(_("(%s)\n") % inst.hint) -def _mayberepr(a): - if ' ' in a: - return encoding.strtolocal(repr(a)) - return a - def _formatargs(args): - return ' '.join(_mayberepr(a) for a in args) + return ' '.join(util.shellquote(a) for a in args) def dispatch(req): "run the command specified in req.args"
--- a/tests/test-blackbox.t Sun Mar 19 12:44:45 2017 -0400 +++ b/tests/test-blackbox.t Sun Mar 19 14:23:30 2017 -0400 @@ -25,7 +25,7 @@ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox - 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config blackbox.dirty=True exited 0 after * seconds (glob) + 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config 'blackbox.dirty=True' exited 0 after * seconds (glob) 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3' 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob)
--- a/tests/test-devel-warnings.t Sun Mar 19 12:44:45 2017 -0400 +++ b/tests/test-devel-warnings.t Sun Mar 19 14:23:30 2017 -0400 @@ -139,7 +139,7 @@ $ hg blackbox -l 9 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: revset "oldstyle" uses list instead of smartset (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) - 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r oldstyle() -T {rev}\n exited 0 after * seconds (glob) + 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r 'oldstyle()' -T '{rev}\n' exited 0 after * seconds (glob) 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob)