Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmutil.py @ 47302:d9c71bbe20f7
errors: make InterventionRequired subclass Abort
The docstring for `Abort` says that it's for errors raised by commands
and `InterventionRequired` is definitely something raised by commands,
so it seems that it should be an `Abort`. This patch makes it so. It
adds a `coarse_exit_code` (in addition to the already existing
`detailed_exit_code`) to `Abort` to achieve that, since
`InterventionRequired` should result in a special exit code even when
the `ui.detailed-exit-code` config is not set.
Differential Revision: https://phab.mercurial-scm.org/D10737
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 18 May 2021 22:07:16 -0700 |
parents | 33c0c25d0b0f |
children | 7a769ac49637 |
line wrap: on
line diff
--- a/mercurial/scmutil.py Tue May 18 21:58:12 2021 -0700 +++ b/mercurial/scmutil.py Tue May 18 22:07:16 2021 -0700 @@ -203,17 +203,13 @@ if inst.hint: ui.error(_(b"(%s)\n") % inst.hint) detailed_exit_code = 50 - except error.InterventionRequired as inst: - ui.error(b"%s\n" % inst) - if inst.hint: - ui.error(_(b"(%s)\n") % inst.hint) - detailed_exit_code = 240 - coarse_exit_code = 1 except error.WdirUnsupported: ui.error(_(b"abort: working directory revision cannot be specified\n")) except error.Abort as inst: if inst.detailed_exit_code is not None: detailed_exit_code = inst.detailed_exit_code + if inst.coarse_exit_code is not None: + coarse_exit_code = inst.coarse_exit_code ui.error(inst.format()) except error.WorkerError as inst: # Don't print a message -- the worker already should have