Mercurial > hg
changeset 38182:79c54e7c0c52 stable
rebase: prioritize indicating an interrupted rebase over update (issue5838)
This should also cover the transplant extension, and any other non clearable
states.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 02 Jun 2018 13:44:44 -0400 |
parents | 712d6f535fc9 |
children | 69d1cafe75f2 |
files | mercurial/cmdutil.py tests/test-rebase-abort.t |
diffstat | 2 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Sat Jun 02 13:25:45 2018 -0400 +++ b/mercurial/cmdutil.py Sat Jun 02 13:44:44 2018 -0400 @@ -3208,8 +3208,16 @@ if found. It's probably good to check this right before bailifchanged(). ''' + # Check for non-clearable states first, so things like rebase will take + # precedence over update. for f, clearable, allowcommit, msg, hint in unfinishedstates: - if commit and allowcommit: + if clearable or (commit and allowcommit): + continue + if repo.vfs.exists(f): + raise error.Abort(msg, hint=hint) + + for f, clearable, allowcommit, msg, hint in unfinishedstates: + if not clearable or (commit and allowcommit): continue if repo.vfs.exists(f): raise error.Abort(msg, hint=hint)
--- a/tests/test-rebase-abort.t Sat Jun 02 13:25:45 2018 -0400 +++ b/tests/test-rebase-abort.t Sat Jun 02 13:44:44 2018 -0400 @@ -387,10 +387,9 @@ .hg/undo.dirstate .hg/updatestate -XXX: This should complain about needing to abort/continue rebase $ hg rebase -s 3 -d tip - abort: last update was interrupted - (use 'hg update' to get a consistent checkout) + abort: rebase in progress + (use 'hg rebase --continue' or 'hg rebase --abort') [255] $ hg up . abort: rebase in progress @@ -401,10 +400,9 @@ (use 'hg rebase --continue' or 'hg rebase --abort') [255] -XXX: This should complain about needing to abort/continue rebase $ hg graft 3 - abort: last update was interrupted - (use 'hg update' to get a consistent checkout) + abort: rebase in progress + (use 'hg rebase --continue' or 'hg rebase --abort') [255] $ hg rebase --abort