Mercurial > hg
changeset 46180:b7ccdb52e0f9
rebase: handle the case when nothing to rebase (dry-run)
In dry-run mode, even when there was no rebase in progress it tried
to abort (for context, at the end of dry-run mode we abort the in-memory
performed rebase) because we were not early checking if there was any rebase
started.
Changes in test file reflect the fixed behavior.
Differential Revision: https://phab.mercurial-scm.org/D9659
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Sat, 26 Dec 2020 18:26:32 +0530 |
parents | 11f3d4458e3a |
children | 3aec2620554b |
files | hgext/rebase.py tests/test-rebase-inmemory.t |
diffstat | 2 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/rebase.py Sat Dec 26 18:04:30 2020 +0530 +++ b/hgext/rebase.py Sat Dec 26 18:26:32 2020 +0530 @@ -1139,13 +1139,16 @@ try: overrides = {(b'rebase', b'singletransaction'): True} with ui.configoverride(overrides, b'rebase'): - _origrebase( + res = _origrebase( ui, repo, action, opts, rbsrt, ) + if res == _nothingtorebase(): + needsabort = False + return res except error.ConflictResolutionRequired: ui.status(_(b'hit a merge conflict\n')) return 1
--- a/tests/test-rebase-inmemory.t Sat Dec 26 18:04:30 2020 +0530 +++ b/tests/test-rebase-inmemory.t Sat Dec 26 18:26:32 2020 +0530 @@ -342,9 +342,7 @@ $ hg reb -r . -d '.^' -n starting dry-run rebase; repository will not be changed nothing to rebase - dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase - abort: no rebase in progress - [20] + [1] Check dryrun gives correct results when there is no conflict in rebasing $ hg rebase -s 2 -d 6 -n