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

login
register
mail settings
Submitter Kostia Balytskyi
Date June 5, 2016, 5:46 p.m.
Message ID <d35690b8021ac8be0b3e.1465148780@ikostia-mbp>
Download mbox | patch
Permalink /patch/15416/
State Superseded
Headers show

Comments

Kostia Balytskyi - June 5, 2016, 5:46 p.m.
# HG changeset patch
# User Kostia Balytskyi <ikostia@fb.com>
# Date 1465135652 -3600
#      Sun Jun 05 15:07:32 2016 +0100
# Node ID d35690b8021ac8be0b3e33c9a7865cb36b4b49f8
# Parent  d55ee8750f35e50a4005cf2cc160a22035217d2a
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 RebaseRuntimeState(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 rtstate.contf or rtstate.abortf:
+            if rtstate.contf and rtstate.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 rtstate.srcf or rtstate.basef or rtstate.destf:
                 raise error.Abort(
                     _('abort and continue do not allow specifying revisions'))
-            if abortf and opts.get('tool', False):
+            if rtstate.abortf and opts.get('tool', False):
                 ui.warn(_('tool option will be ignored\n'))
 
             try:
@@ -307,7 +308,7 @@  def rebase(ui, repo, **opts):
                  rtstate.external, rtstate.activebookmark) = restorestatus(repo)
                 collapsemsg = restorecollapsemsg(repo)
             except error.RepoLookupError:
-                if abortf:
+                if rtstate.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 rtstate.abortf:
                 return abort(repo, rtstate.originalwd, rtstate.target,
                              rtstate.state,
                              activebookmark=rtstate.activebookmark)
@@ -336,7 +337,7 @@  def rebase(ui, repo, **opts):
         else:
             dest, rebaseset = _definesets(ui, repo, rtstate.destf, rtstate.srcf,
                                           rtstate.basef, rtstate.revf,
-                                          destspace=destspace)
+                                          destspace=rtstate.destspace)
             if dest is None:
                 return _nothingtorebase()