Mercurial > hg
changeset 23152:b8f6d840d3ec
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 03 Nov 2014 16:56:32 -0600 |
parents | 733d980b9c59 (current diff) 72a89cf86fcd (diff) |
children | 9ce22bdcd8bc |
files | hgext/extdiff.py tests/test-extdiff.t |
diffstat | 3 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/extdiff.py Sun Nov 02 15:27:15 2014 -0500 +++ b/hgext/extdiff.py Mon Nov 03 16:56:32 2014 -0600 @@ -120,7 +120,7 @@ revs = opts.get('rev') change = opts.get('change') - args = ' '.join(diffopts) + args = ' '.join(map(util.shellquote, diffopts)) do3way = '$parent2' in args if revs and change: @@ -281,8 +281,7 @@ path = util.findexe(cmd) if path is None: path = filemerge.findexternaltool(ui, cmd) or cmd - diffopts = ui.config('extdiff', 'opts.' + cmd, '') - diffopts = diffopts and [diffopts] or [] + diffopts = shlex.split(ui.config('extdiff', 'opts.' + cmd, '')) elif cmd.startswith('opts.'): continue else:
--- a/mercurial/commands.py Sun Nov 02 15:27:15 2014 -0500 +++ b/mercurial/commands.py Mon Nov 03 16:56:32 2014 -0600 @@ -5477,7 +5477,7 @@ [('A', 'accesslog', '', _('name of access log file to write to'), _('FILE')), ('d', 'daemon', None, _('run server in background')), - ('', 'daemon-pipefds', '', _('used internally by daemon mode'), _('NUM')), + ('', 'daemon-pipefds', '', _('used internally by daemon mode'), _('FILE')), ('E', 'errorlog', '', _('name of error log file to write to'), _('FILE')), # use string type, then we can check if something was passed ('p', 'port', '', _('port to listen on (default: 8000)'), _('PORT')),
--- a/tests/test-extdiff.t Sun Nov 02 15:27:15 2014 -0500 +++ b/tests/test-extdiff.t Mon Nov 03 16:56:32 2014 -0600 @@ -19,6 +19,8 @@ $ echo "[extdiff]" >> $HGRCPATH $ echo "cmd.falabala=echo" >> $HGRCPATH $ echo "opts.falabala=diffing" >> $HGRCPATH + $ echo "cmd.edspace=echo" >> $HGRCPATH + $ echo 'opts.edspace="name <user@example.com>"' >> $HGRCPATH $ hg falabala diffing a.000000000000 a @@ -168,6 +170,16 @@ diffing this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) [1] +Test extdiff's handling of options with spaces in them: + + $ hg edspace -c 1 + name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) + [1] + + $ hg extdiff -p echo -o "name <user@example.com>" -c 1 + name <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) + [1] + Test with revsets: $ hg extdif -p echo -c "rev(1)"