rebase: fix issue 5494 also with --collapse
authorMartin von Zweigbergk <martinvonz@google.com>
Thu, 08 Mar 2018 14:17:24 -0800
changeset 36928 9457c395fcbb
parent 36927 17a744c5e270
child 36929 cc2bfc7d5362
rebase: fix issue 5494 also with --collapse Differential Revision: https://phab.mercurial-scm.org/D2759
hgext/rebase.py
tests/test-rebase-interruptions.t
--- a/hgext/rebase.py	Fri Mar 09 10:35:48 2018 -0800
+++ b/hgext/rebase.py	Thu Mar 08 14:17:24 2018 -0800
@@ -579,6 +579,12 @@
                     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:
--- a/tests/test-rebase-interruptions.t	Fri Mar 09 10:35:48 2018 -0800
+++ b/tests/test-rebase-interruptions.t	Thu Mar 08 14:17:24 2018 -0800
@@ -479,7 +479,6 @@
   $ 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]