Patchwork D3855: rebase: extract dryrun as a function

login
register
mail settings
Submitter phabricator
Date June 29, 2018, 6:08 p.m.
Message ID <195c7a85e11841a764a6139b623250ab@localhost.localdomain>
Download mbox | patch
Permalink /patch/32504/
State Not Applicable
Headers show

Comments

phabricator - June 29, 2018, 6:08 p.m.
khanchi97 updated this revision to Diff 9355.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3855?vs=9343&id=9355

REVISION DETAIL
  https://phab.mercurial-scm.org/D3855

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS




To: khanchi97, #hg-reviewers
Cc: yuja, mercurial-devel

Patch

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -818,21 +818,7 @@ 
         opts[r'dest'] = '_destautoorphanrebase(SRC)'
 
     if dryrun:
-        rbsrt = rebaseruntime(repo, ui, inmemory=True, opts=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
@@ -848,6 +834,23 @@ 
     else:
         return _origrebase(ui, repo, **opts)
 
+def _dryrunrebase(ui, repo, **opts):
+    rbsrt = rebaseruntime(repo, ui, inmemory=True, opts=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)