rebase: do not bail on uncomitted changes if rebasing in-memory
authorPhil Cohen <phillco@fb.com>
Thu, 07 Dec 2017 13:20:47 -0800
changeset 35291 aa660c1203a9
parent 35290 482614b3802a
child 35292 306a8604741f
rebase: do not bail on uncomitted changes if rebasing in-memory Differential Revision: https://phab.mercurial-scm.org/D1233
hgext/rebase.py
--- a/hgext/rebase.py	Thu Dec 07 13:25:23 2017 -0800
+++ b/hgext/rebase.py	Thu Dec 07 13:20:47 2017 -0800
@@ -784,7 +784,8 @@
                 return retcode
         else:
             destmap = _definedestmap(ui, repo, destf, srcf, basef, revf,
-                                     destspace=destspace)
+                                     destspace=destspace,
+                                     inmemory=opts['inmemory'])
             retcode = rbsrt._preparenewrebase(destmap)
             if retcode is not None:
                 return retcode
@@ -804,7 +805,7 @@
         rbsrt._finishrebase()
 
 def _definedestmap(ui, repo, destf=None, srcf=None, basef=None, revf=None,
-                   destspace=None):
+                   destspace=None, inmemory=False):
     """use revisions argument to define destmap {srcrev: destrev}"""
     if revf is None:
         revf = []
@@ -818,8 +819,9 @@
     if revf and srcf:
         raise error.Abort(_('cannot specify both a revision and a source'))
 
-    cmdutil.checkunfinished(repo)
-    cmdutil.bailifchanged(repo)
+    if not inmemory:
+        cmdutil.checkunfinished(repo)
+        cmdutil.bailifchanged(repo)
 
     if ui.configbool('commands', 'rebase.requiredest') and not destf:
         raise error.Abort(_('you must specify a destination'),