diff -r ac362d5a7893 -r f4a218331ff4 hgext/absorb.py --- a/hgext/absorb.py Thu Oct 22 14:14:59 2020 -0700 +++ b/hgext/absorb.py Tue Nov 17 16:23:57 2020 -0800 @@ -511,7 +511,7 @@ # run editor editedtext = self.ui.edit(editortext, b'', action=b'absorb') if not editedtext: - raise error.Abort(_(b'empty editor text')) + raise error.InputError(_(b'empty editor text')) # parse edited result contents = [b''] * len(self.fctxs) leftpadpos = 4 @@ -520,7 +520,7 @@ if l.startswith(b'HG:'): continue if l[colonpos - 1 : colonpos + 2] != b' : ': - raise error.Abort(_(b'malformed line: %s') % l) + raise error.InputError(_(b'malformed line: %s') % l) linecontent = l[colonpos + 2 :] for i, ch in enumerate( pycompat.bytestr(l[leftpadpos : colonpos - 1]) @@ -1018,7 +1018,7 @@ limit = ui.configint(b'absorb', b'max-stack-size') headctx = repo[b'.'] if len(headctx.parents()) > 1: - raise error.Abort(_(b'cannot absorb into a merge')) + raise error.InputError(_(b'cannot absorb into a merge')) stack = getdraftstack(headctx, limit) if limit and len(stack) >= limit: ui.warn( @@ -1029,7 +1029,7 @@ % limit ) if not stack: - raise error.Abort(_(b'no mutable changeset to change')) + raise error.InputError(_(b'no mutable changeset to change')) if targetctx is None: # default to working copy targetctx = repo[None] if pats is None: