histedit: pass state to boostrapcontinue
authorDavid Soria Parra <davidsp@fb.com>
Wed, 15 Oct 2014 08:06:15 -0700
changeset 22980 b3483bc1ec8c
parent 22979 bb22cd700e0a
child 22981 aa1ad9594dde
histedit: pass state to boostrapcontinue Pass the state to boostrapcontinue and remove the unecessary passing of repo.
hgext/histedit.py
--- a/hgext/histedit.py	Wed Oct 15 17:11:54 2014 -0700
+++ b/hgext/histedit.py	Wed Oct 15 08:06:15 2014 -0700
@@ -569,9 +569,7 @@
     # rebuild state
     if goal == 'continue':
         state = readstate(repo)
-        state.parentctx, repl = bootstrapcontinue(ui, repo, state.parentctx,
-                state.rules, opts)
-        state.replacements.extend(repl)
+        state = bootstrapcontinue(ui, state, opts)
     elif goal == 'abort':
         state = readstate(repo)
         mapping, tmpnodes, leafs, _ntm = processreplacement(repo,
@@ -702,8 +700,9 @@
         newchildren.pop(0)  # remove ctx
     return newchildren
 
-def bootstrapcontinue(ui, repo, parentctx, rules, opts):
-    action, currentnode = rules.pop(0)
+def bootstrapcontinue(ui, state, opts):
+    repo, parentctx = state.repo, state.parentctx
+    action, currentnode = state.rules.pop(0)
     ctx = repo[currentnode]
 
     newchildren = gatherchildren(repo, parentctx)
@@ -758,8 +757,11 @@
     elif newchildren:
         # otherwise update "parentctx" before proceeding to further operation
         parentctx = repo[newchildren[-1]]
-    return parentctx, replacements
 
+    state.parentctx = parentctx
+    state.replacements.extend(replacements)
+
+    return state
 
 def between(repo, old, new, keep):
     """select and validate the set of revision to edit