diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -1058,18 +1058,18 @@ req.canonical_command = cmd if options[b"config"] != req.earlyoptions[b"config"]: - raise error.Abort(_(b"option --config may not be abbreviated!")) + raise error.Abort(_(b"option --config may not be abbreviated")) if options[b"cwd"] != req.earlyoptions[b"cwd"]: - raise error.Abort(_(b"option --cwd may not be abbreviated!")) + raise error.Abort(_(b"option --cwd may not be abbreviated")) if options[b"repository"] != req.earlyoptions[b"repository"]: raise error.Abort( _( b"option -R has to be separated from other options (e.g. not " - b"-qR) and --repository may only be abbreviated as --repo!" + b"-qR) and --repository may only be abbreviated as --repo" ) ) if options[b"debugger"] != req.earlyoptions[b"debugger"]: - raise error.Abort(_(b"option --debugger may not be abbreviated!")) + raise error.Abort(_(b"option --debugger may not be abbreviated")) # don't validate --profile/--traceback, which can be enabled from now if options[b"encoding"]: diff --git a/tests/test-dispatch.t b/tests/test-dispatch.t --- a/tests/test-dispatch.t +++ b/tests/test-dispatch.t @@ -62,20 +62,20 @@ Unparsable form of early options: $ hg cat --debugg - abort: option --debugger may not be abbreviated! + abort: option --debugger may not be abbreviated [255] Parsing failure of early options should be detected before executing the command: $ hg log -b '--config=hooks.pre-log=false' default - abort: option --config may not be abbreviated! + abort: option --config may not be abbreviated [255] $ hg log -b -R. default - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] $ hg log --cwd .. -b --cwd=. default - abort: option --cwd may not be abbreviated! + abort: option --cwd may not be abbreviated [255] However, we can't prevent it from loading extensions and configs: @@ -85,7 +85,7 @@ > EOF $ hg log -b '--config=extensions.bad=bad.py' default *** failed to import extension bad from bad.py: bad - abort: option --config may not be abbreviated! + abort: option --config may not be abbreviated [255] $ mkdir -p badrepo/.hg @@ -113,7 +113,7 @@ [255] $ hg log -b '--config=defaults.log=--config=hooks.pre-log=false' - abort: option --config may not be abbreviated! + abort: option --config may not be abbreviated [255] Shell aliases bypass any command parsing rules but for the early one: @@ -143,13 +143,13 @@ [255] $ HGPLAIN=+strictflags hg log --config='hooks.pre-log=false' -b default - abort: option --config may not be abbreviated! + abort: option --config may not be abbreviated [255] $ HGPLAIN=+strictflags hg log -q --cwd=.. -b default - abort: option --cwd may not be abbreviated! + abort: option --cwd may not be abbreviated [255] $ HGPLAIN=+strictflags hg log -q -R . -b default - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] $ HGPLAIN=+strictflags hg --config='hooks.pre-log=false' log -b default diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t --- a/tests/test-globalopts.t +++ b/tests/test-globalopts.t @@ -134,22 +134,22 @@ earlygetopt with illegal abbreviations: $ hg --confi "foo.bar=baz" - abort: option --config may not be abbreviated! + abort: option --config may not be abbreviated [255] $ hg --cw a tip - abort: option --cwd may not be abbreviated! + abort: option --cwd may not be abbreviated [255] $ hg --rep a tip - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] $ hg --repositor a tip - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] $ hg -qR a tip - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] $ hg -qRa tip - abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo! + abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo [255] Testing --cwd: