##// END OF EJS Templates
histedit: let the state expose a context but serialize correctly to nodes...
David Soria Parra -
r22979:bb22cd70 default
parent child Browse files
Show More
@@ -189,13 +189,13 b' editcomment = _("""# Edit history betwee'
189 189 """)
190 190
191 191 class histeditstate(object):
192 def __init__(self, repo, parentctxnode=None, rules=None, keep=None,
192 def __init__(self, repo, parentctx=None, rules=None, keep=None,
193 193 topmost=None, replacements=None):
194 194 self.repo = repo
195 self.parentctxnode = parentctxnode
196 195 self.rules = rules
197 196 self.keep = keep
198 197 self.topmost = topmost
198 self.parentctx = parentctx
199 199 if replacements is None:
200 200 self.replacements = []
201 201 else:
@@ -203,7 +203,7 b' class histeditstate(object):'
203 203
204 204 def write(self):
205 205 fp = self.repo.vfs('histedit-state', 'w')
206 pickle.dump((self.parentctxnode, self.rules, self.keep,
206 pickle.dump((self.parentctx.node(), self.rules, self.keep,
207 207 self.topmost, self.replacements), fp)
208 208 fp.close()
209 209
@@ -569,11 +569,9 b' def _histedit(ui, repo, *freeargs, **opt'
569 569 # rebuild state
570 570 if goal == 'continue':
571 571 state = readstate(repo)
572 parentctx = repo[state.parentctxnode]
573 parentctx, repl = bootstrapcontinue(ui, repo, parentctx, state.rules,
574 opts)
572 state.parentctx, repl = bootstrapcontinue(ui, repo, state.parentctx,
573 state.rules, opts)
575 574 state.replacements.extend(repl)
576 state.parentctxnode = parentctx.node()
577 575 elif goal == 'abort':
578 576 state = readstate(repo)
579 577 mapping, tmpnodes, leafs, _ntm = processreplacement(repo,
@@ -581,7 +579,7 b' def _histedit(ui, repo, *freeargs, **opt'
581 579 ui.debug('restore wc to old parent %s\n' % node.short(state.topmost))
582 580 # check whether we should update away
583 581 parentnodes = [c.node() for c in repo[None].parents()]
584 for n in leafs | set([state.parentctxnode]):
582 for n in leafs | set([state.parentctx.node()]):
585 583 if n in parentnodes:
586 584 hg.clean(repo, state.topmost)
587 585 break
@@ -639,7 +637,7 b' def _histedit(ui, repo, *freeargs, **opt'
639 637
640 638 parentctx = repo[root].parents()[0]
641 639
642 state = histeditstate(repo, parentctx.node(), rules, keep,
640 state = histeditstate(repo, parentctx, rules, keep,
643 641 topmost, replacements)
644 642
645 643 while state.rules:
@@ -647,13 +645,11 b' def _histedit(ui, repo, *freeargs, **opt'
647 645 action, ha = state.rules.pop(0)
648 646 ui.debug('histedit: processing %s %s\n' % (action, ha))
649 647 actfunc = actiontable[action]
650 parentctx = repo[state.parentctxnode]
651 parentctx, replacement_ = actfunc(ui, repo, parentctx,
648 state.parentctx, replacement_ = actfunc(ui, repo, state.parentctx,
652 649 ha, opts)
653 state.parentctxnode = parentctx.node()
654 650 state.replacements.extend(replacement_)
655 651
656 hg.update(repo, state.parentctxnode)
652 hg.update(repo, state.parentctx.node())
657 653
658 654 mapping, tmpnodes, created, ntm = processreplacement(repo,
659 655 state.replacements)
@@ -793,7 +789,7 b' def readstate(repo):'
793 789
794 790 (parentctxnode, rules, keep, topmost, replacements) = pickle.load(fp)
795 791
796 return histeditstate(repo, parentctxnode, rules,
792 return histeditstate(repo, repo[parentctxnode], rules,
797 793 keep, topmost, replacements)
798 794
799 795 def makedesc(c):
General Comments 0
You need to be logged in to leave comments. Login now