Skip to content
Snippets Groups Projects
Commit f8af57c0 authored by Dan Villiom Podlaski Christiansen's avatar Dan Villiom Podlaski Christiansen
Browse files

rebase: improve error message on improper phases

The previous error message had two issues: The first issue was that it
wasn't, in fact, an error but a warning, even though it described a
fatal error condition preventing the successful completion of the
command. The second was that it didn't mention the immutable
changesets, leaving the user guessing at the true cause of the error.

The main downside to this change is that we now get an 'abort: can't
abort...' message which technically contradicts itself. In this case,
I blame that on the two uses we have for the word; if it weren't for
backwards compatibility, we could make util.Abort print out 'error:
<whatever>'.
parent 8ad08dca
No related branches found
No related tags found
No related merge requests found
......@@ -565,10 +565,11 @@
def abort(repo, originalwd, target, state):
'Restore the repository to its original state'
dstates = [s for s in state.values() if s != nullrev]
if [d for d in dstates if not repo[d].mutable()]:
repo.ui.warn(_("warning: immutable rebased changeset detected, "
"can't abort\n"))
return -1
immutable = [d for d in dstates if not repo[d].mutable()]
if immutable:
raise util.Abort(_("can't abort rebase due to immutable changesets %s")
% ', '.join(str(repo[r]) for r in immutable),
hint=_('see hg help phases for details'))
descendants = set()
if dstates:
......
......@@ -248,7 +248,8 @@
Abort the rebasing:
$ hg rebase --abort
warning: immutable rebased changeset detected, can't abort
abort: can't abort rebase due to immutable changesets 45396c49d53b
(see hg help phases for details)
[255]
$ hg tglogp
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment