diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -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 diff --git a/tests/test-rebase-inmemory.t b/tests/test-rebase-inmemory.t --- a/tests/test-rebase-inmemory.t +++ b/tests/test-rebase-inmemory.t @@ -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