diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -579,6 +579,12 @@ class rebaseruntime(object): editor=editor, keepbranches=self.keepbranchesf, date=self.date) + + if newnode is None: + # If it ended up being a no-op commit, then the normal + # merge state clean-up path doesn't happen, so do it + # here. Fix issue5494 + mergemod.mergestate.clean(repo) if newnode is not None: newrev = repo[newnode].rev() for oldrev in self.state: diff --git a/tests/test-rebase-interruptions.t b/tests/test-rebase-interruptions.t --- a/tests/test-rebase-interruptions.t +++ b/tests/test-rebase-interruptions.t @@ -479,7 +479,6 @@ Now try again with --collapse $ hg rebase --continue rebasing 2:fdaca8533b86 "b" (tip) saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg -BROKEN: the merge state was not cleared $ hg resolve --list - R a $ test -d .hg/merge + [1]