[PATCH 02 of 16] rebase: move target local variable to an object

Kostia Balytskyi ikostia at fb.com
Sun May 29 18:38:33 EDT 2016


# HG changeset patch
# User Kostia Balytskyi <ikostia at fb.com>
# Date 1464517926 -3600
#      Sun May 29 11:32:06 2016 +0100
# Node ID 5fe2bf52ba00a0137b78ad7d1cb8698edea68ba0
# Parent  c93cbc7223e65ae6cbe36295604fbe83455dbd63
rebase: move target local variable to an object

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -127,9 +127,9 @@
         # Mapping between the old revision id and either what is the new rebased
         # revision or what needs to be done with the old revision. The state
         # dict will be what contains most of the rebase progress state.
-
         self.state = {}
         self.activebookmark = None
+        self.target = None
 
 @command('rebase',
     [('s', 'source', '',
@@ -242,7 +242,6 @@
 
     """
     rtstate = RebaseRuntimeState()
-    target = None
     skipped = set()
     targetancestors = set()
 
@@ -303,7 +302,7 @@
                 ui.warn(_('tool option will be ignored\n'))
 
             try:
-                (rtstate.originalwd, target, rtstate.state, skipped,
+                (rtstate.originalwd, rtstate.target, rtstate.state, skipped,
                  collapsef, keepf, keepbranchesf, rtstate.external,
                  rtstate.activebookmark) = restorestatus(repo)
                 collapsemsg = restorecollapsemsg(repo)
@@ -319,7 +318,8 @@
                     hint = _('use "hg rebase --abort" to clear broken state')
                     raise error.Abort(msg, hint=hint)
             if abortf:
-                return abort(repo, rtstate.originalwd, target, rtstate.state,
+                return abort(repo, rtstate.originalwd, rtstate.target,
+                             rtstate.state,
                              activebookmark=rtstate.activebookmark)
 
             obsoletenotrebased = {}
@@ -329,7 +329,7 @@
                                      if st == revprecursor])
                 rebasesetrevs = set(rtstate.state.keys())
                 obsoletenotrebased = _computeobsoletenotrebased(repo,
-                                        rebaseobsrevs, target)
+                                        rebaseobsrevs, rtstate.target)
                 rebaseobsskipped = set(obsoletenotrebased)
                 _checkobsrebase(repo, ui, rebaseobsrevs, rebasesetrevs,
                                 rebaseobsskipped)
@@ -375,9 +375,9 @@
                                  % repo[root],
                                  hint=_('see "hg help phases" for details'))
 
-            (rtstate.originalwd, target, rtstate.state) = result
+            (rtstate.originalwd, rtstate.target, rtstate.state) = result
             if collapsef:
-                targetancestors = repo.changelog.ancestors([target],
+                targetancestors = repo.changelog.ancestors([rtstate.target],
                                                            inclusive=True)
                 rtstate.external = externalparent(repo, rtstate.state,
                                                        targetancestors)
@@ -400,7 +400,8 @@
 
         # Rebase
         if not targetancestors:
-            targetancestors = repo.changelog.ancestors([target], inclusive=True)
+            targetancestors = repo.changelog.ancestors([rtstate.target],
+                                                       inclusive=True)
 
         # Keep track of the current bookmarks in order to reset them later
         currentbookmarks = repo._bookmarks.copy()
@@ -425,11 +426,12 @@
                 ui.status(_('rebasing %s\n') % desc)
                 ui.progress(_("rebasing"), pos, ("%d:%s" % (rev, ctx)),
                             _('changesets'), total)
-                p1, p2, base = defineparents(repo, rev, target, rtstate.state,
+                p1, p2, base = defineparents(repo, rev, rtstate.target,
+                                             rtstate.state,
                                              targetancestors,
                                              obsoletenotrebased)
-                storestatus(repo, rtstate.originalwd, target, rtstate.state,
-                            collapsef, keepf, keepbranchesf,
+                storestatus(repo, rtstate.originalwd, rtstate.target,
+                            rtstate.state, collapsef, keepf, keepbranchesf,
                             rtstate.external, rtstate.activebookmark)
                 storecollapsemsg(repo, collapsemsg)
                 if len(repo[None].parents()) == 2:
@@ -439,7 +441,7 @@
                         ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
                                      'rebase')
                         stats = rebasenode(repo, rev, p1, base, rtstate.state,
-                                           collapsef, target)
+                                           collapsef, rtstate.target)
                         if stats and stats[3] > 0:
                             raise error.InterventionRequired(
                                 _('unresolved conflicts (see hg '
@@ -492,9 +494,9 @@
         ui.note(_('rebase merging completed\n'))
 
         if collapsef and not keepopen:
-            p1, p2, _base = defineparents(repo, min(rtstate.state), target,
-                                          rtstate.state, targetancestors,
-                                          obsoletenotrebased)
+            p1, p2, _base = defineparents(repo, min(rtstate.state),
+                                          rtstate.target, rtstate.state,
+                                          targetancestors, obsoletenotrebased)
             editopt = opts.get('edit')
             editform = 'rebase.collapse'
             if collapsemsg:
@@ -513,7 +515,7 @@
                                    keepbranches=keepbranchesf,
                                    date=date)
             if newnode is None:
-                newrev = target
+                newrev = rtstate.target
             else:
                 newrev = repo[newnode].rev()
             for oldrev in rtstate.state.iterkeys():
@@ -531,7 +533,7 @@
                     nstate[repo[k].node()] = repo[v].node()
             # XXX this is the same as dest.node() for the non-continue path --
             # this should probably be cleaned up
-            targetnode = repo[target].node()
+            targetnode = repo[rtstate.target].node()
 
         # restore original working directory
         # (we do this before stripping)


More information about the Mercurial-devel mailing list