errors: raise InputError on early parse error in dispatch
I didn't think this would have any effect on the tests, but it does
because the catching in `scmutil.callcatch()` still happens. That's
because `dispatch` passes in the function that includes the parsing as
an argument to that function.
I initially used `ConfigError` here but Matt Harbison convinced me to
use `InputError`. I think that makes sense since error is not in a
config file.
Differential Revision: https://phab.mercurial-scm.org/D9387
--- a/mercurial/dispatch.py Wed Nov 18 23:37:09 2020 -0800
+++ b/mercurial/dispatch.py Mon Nov 23 10:38:05 2020 -0800
@@ -849,7 +849,7 @@
ui.setconfig(section, name, value, b'--config')
configs.append((section, name, value))
except (IndexError, ValueError):
- raise error.Abort(
+ raise error.InputError(
_(
b'malformed --config option: %r '
b'(use --config section.name=value)'
--- a/tests/test-globalopts.t Wed Nov 18 23:37:09 2020 -0800
+++ b/tests/test-globalopts.t Mon Nov 23 10:38:05 2020 -0800
@@ -217,19 +217,19 @@
quuxfoo
$ hg --cwd c --config '' tip -q
abort: malformed --config option: '' (use --config section.name=value)
- [255]
+ [10]
$ hg --cwd c --config a.b tip -q
abort: malformed --config option: 'a.b' (use --config section.name=value)
- [255]
+ [10]
$ hg --cwd c --config a tip -q
abort: malformed --config option: 'a' (use --config section.name=value)
- [255]
+ [10]
$ hg --cwd c --config a.= tip -q
abort: malformed --config option: 'a.=' (use --config section.name=value)
- [255]
+ [10]
$ hg --cwd c --config .b= tip -q
abort: malformed --config option: '.b=' (use --config section.name=value)
- [255]
+ [10]
Testing --debug: