Patchwork [6,of,7,v5] rebase: move local variables 'contf', 'abortf' and 'destspace' to the RRS

login
register
mail settings
Submitter Kostia Balytskyi
Date June 13, 2016, 9:28 p.m.
Message ID <66b30edd7be479b423ff.1465853284@ikostia-mbp>
Download mbox | patch
Permalink /patch/15484/
State Superseded
Headers show

Comments

Kostia Balytskyi - June 13, 2016, 9:28 p.m.
# HG changeset patch
# User Kostia Balytskyi <ikostia@fb.com>
# Date 1465837356 -3600
#      Mon Jun 13 18:02:36 2016 +0100
# Node ID 66b30edd7be479b423ff51de2fe1db759cdf776d
# Parent  0d2ccd17e15d04bc6cb6dbab1ea3912c9a33fd3d
rebase: move local variables 'contf', 'abortf' and 'destspace' to the RRS

The variables this commit touches are command line options of the rebase
operation. Two of them ('contf' and 'abortf') are responsible for 'abort'
and 'continue' phases of rebase lifecycle, while 'destspace' is used to
search for default rebase destination. Commit moves these variables to
the previously introduced RebaseRuntimeState class.

Patch

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -139,6 +139,12 @@  class rebaseruntime(object):
         self.basef = opts.get('base', None)
         self.revf = opts.get('rev', [])
 
+        # search default destination in this space
+        # used in the 'hg pull --rebase' case, see issue 5214.
+        self.destspace = opts.get('_destspace')
+        self.contf = opts.get('continue')
+        self.abortf = opts.get('abort')
+
 @command('rebase',
     [('s', 'source', '',
      _('rebase the specified changeset and descendants'), _('REV')),
@@ -256,11 +262,6 @@  def rebase(ui, repo, **opts):
         wlock = repo.wlock()
         lock = repo.lock()
 
-        # search default destination in this space
-        # used in the 'hg pull --rebase' case, see issue 5214.
-        destspace = opts.get('_destspace')
-        contf = opts.get('continue')
-        abortf = opts.get('abort')
         collapsef = opts.get('collapse', False)
         collapsemsg = cmdutil.logmessage(ui, opts)
         date = opts.get('date', None)
@@ -289,8 +290,8 @@  def rebase(ui, repo, **opts):
             raise error.Abort(
                 _('message can only be specified with collapse'))
 
-        if contf or abortf:
-            if contf and abortf:
+        if rbsrt.contf or rbsrt.abortf:
+            if rbsrt.contf and rbsrt.abortf:
                 raise error.Abort(_('cannot use both abort and continue'))
             if collapsef:
                 raise error.Abort(
@@ -298,7 +299,7 @@  def rebase(ui, repo, **opts):
             if rbsrt.srcf or rbsrt.basef or rbsrt.destf:
                 raise error.Abort(
                     _('abort and continue do not allow specifying revisions'))
-            if abortf and opts.get('tool', False):
+            if rbsrt.abortf and opts.get('tool', False):
                 ui.warn(_('tool option will be ignored\n'))
 
             try:
@@ -307,7 +308,7 @@  def rebase(ui, repo, **opts):
                  rbsrt.external, rbsrt.activebookmark) = restorestatus(repo)
                 collapsemsg = restorecollapsemsg(repo)
             except error.RepoLookupError:
-                if abortf:
+                if rbsrt.abortf:
                     clearstatus(repo)
                     clearcollapsemsg(repo)
                     repo.ui.warn(_('rebase aborted (no revision is removed,'
@@ -317,7 +318,7 @@  def rebase(ui, repo, **opts):
                     msg = _('cannot continue inconsistent rebase')
                     hint = _('use "hg rebase --abort" to clear broken state')
                     raise error.Abort(msg, hint=hint)
-            if abortf:
+            if rbsrt.abortf:
                 return abort(repo, rbsrt.originalwd, rbsrt.target, 
                              rbsrt.state,
                              activebookmark=rbsrt.activebookmark)
@@ -336,7 +337,7 @@  def rebase(ui, repo, **opts):
         else:
             dest, rebaseset = _definesets(ui, repo, rbsrt.destf, rbsrt.srcf,
                                           rbsrt.basef, rbsrt.revf,
-                                          destspace=destspace)
+                                          destspace=rbsrt.destspace)
             if dest is None:
                 return _nothingtorebase()