changeset 46010:61c1f29e7f4f

rebase: clear merge state when aborting in-memory merge on dirty working copy Differential Revision: https://phab.mercurial-scm.org/D9509
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 02 Dec 2020 15:39:01 -0800
parents d767f71b9158
children b9588ff9b66a
files hgext/rebase.py tests/test-rebase-inmemory.t
diffstat 2 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/rebase.py	Wed Dec 02 15:15:16 2020 -0800
+++ b/hgext/rebase.py	Wed Dec 02 15:39:01 2020 -0800
@@ -642,7 +642,12 @@
                                 b"commit again in the working copy\n"
                             )
                         )
-                        cmdutil.bailifchanged(repo)
+                        try:
+                            cmdutil.bailifchanged(repo)
+                        except error.Abort:
+                            clearstatus(repo)
+                            clearcollapsemsg(repo)
+                            raise
                         self.inmemory = False
                         self._assignworkingcopy()
                         mergemod.update(repo[p1], wc=self.wctx)
--- a/tests/test-rebase-inmemory.t	Wed Dec 02 15:15:16 2020 -0800
+++ b/tests/test-rebase-inmemory.t	Wed Dec 02 15:39:01 2020 -0800
@@ -489,12 +489,6 @@
   dirty
   $ hg status -v
   M a
-  # The repository is in an unfinished *rebase* state.
-  
-  # To continue:    hg rebase --continue
-  # To abort:       hg rebase --abort
-  # To stop:        hg rebase --stop
-  
 
 Retrying without in-memory merge won't lose merge state
   $ cd ..