hgext/rebase.py
changeset 38496 c92fdc27cbdd
parent 38495 ba6d2c32f34a
child 38497 9c3b48fb7ac5
--- a/hgext/rebase.py	Thu Jun 28 23:36:45 2018 +0530
+++ b/hgext/rebase.py	Thu Jun 28 23:57:15 2018 +0530
@@ -818,22 +818,7 @@
         opts[r'dest'] = '_destautoorphanrebase(SRC)'
 
     if dryrun:
-        rbsrt = rebaseruntime(repo, ui, inmemory=True,
-                              opts=pycompat.byteskwargs(opts))
-        with repo.wlock(), repo.lock():
-            try:
-                overrides = {('rebase', 'singletransaction'): True}
-                with ui.configoverride(overrides, 'rebase'):
-                    _origrebase(ui, repo, inmemory=True, rbsrt=rbsrt,
-                                leaveunfinished=True, **opts)
-            except error.InMemoryMergeConflictsError:
-                ui.status(_('hit a merge conflict\n'))
-                return 1
-            else:
-                ui.status(_('there will be no conflict, you can rebase\n'))
-                return 0
-            finally:
-                rbsrt._prepareabortorcontinue(isabort=True)
+        return _dryrunrebase(ui, repo, **opts)
     elif inmemory:
         try:
             # in-memory merge doesn't support conflicts, so if we hit any, abort
@@ -849,6 +834,24 @@
     else:
         return _origrebase(ui, repo, **opts)
 
+def _dryrunrebase(ui, repo, **opts):
+    rbsrt = rebaseruntime(repo, ui, inmemory=True,
+                          opts=pycompat.byteskwargs(opts))
+    with repo.wlock(), repo.lock():
+        try:
+            overrides = {('rebase', 'singletransaction'): True}
+            with ui.configoverride(overrides, 'rebase'):
+                _origrebase(ui, repo, inmemory=True, rbsrt=rbsrt,
+                            leaveunfinished=True, **opts)
+        except error.InMemoryMergeConflictsError:
+            ui.status(_('hit a merge conflict\n'))
+            return 1
+        else:
+            ui.status(_('there will be no conflict, you can rebase\n'))
+            return 0
+        finally:
+            rbsrt._prepareabortorcontinue(isabort=True)
+
 def _origrebase(ui, repo, inmemory=False, leaveunfinished=False, rbsrt=None,
                 **opts):
     opts = pycompat.byteskwargs(opts)