Show More
@@ -190,13 +190,13 b' editcomment = _("""# Edit history betwee' | |||
|
190 | 190 | """) |
|
191 | 191 | |
|
192 | 192 | class histeditstate(object): |
|
193 | def __init__(self, repo, parentctx=None, rules=None, keep=None, | |
|
193 | def __init__(self, repo, parentctxnode=None, rules=None, keep=None, | |
|
194 | 194 | topmost=None, replacements=None, lock=None, wlock=None): |
|
195 | 195 | self.repo = repo |
|
196 | 196 | self.rules = rules |
|
197 | 197 | self.keep = keep |
|
198 | 198 | self.topmost = topmost |
|
199 | self.parentctx = parentctx | |
|
199 | self.parentctxnode = parentctxnode | |
|
200 | 200 | self.lock = lock |
|
201 | 201 | self.wlock = wlock |
|
202 | 202 | if replacements is None: |
@@ -215,7 +215,7 b' class histeditstate(object):' | |||
|
215 | 215 | |
|
216 | 216 | parentctxnode, rules, keep, topmost, replacements = pickle.load(fp) |
|
217 | 217 | |
|
218 |
self.parentctx = |
|
|
218 | self.parentctxnode = parentctxnode | |
|
219 | 219 | self.rules = rules |
|
220 | 220 | self.keep = keep |
|
221 | 221 | self.topmost = topmost |
@@ -223,7 +223,7 b' class histeditstate(object):' | |||
|
223 | 223 | |
|
224 | 224 | def write(self): |
|
225 | 225 | fp = self.repo.vfs('histedit-state', 'w') |
|
226 |
pickle.dump((self.parentctx |
|
|
226 | pickle.dump((self.parentctxnode, self.rules, self.keep, | |
|
227 | 227 | self.topmost, self.replacements), fp) |
|
228 | 228 | fp.close() |
|
229 | 229 | |
@@ -347,7 +347,8 b' def collapse(repo, first, last, commitop' | |||
|
347 | 347 | return repo.commitctx(new) |
|
348 | 348 | |
|
349 | 349 | def pick(ui, state, ha, opts): |
|
350 | repo, ctx = state.repo, state.parentctx | |
|
350 | repo, ctxnode = state.repo, state.parentctxnode | |
|
351 | ctx = repo[ctxnode] | |
|
351 | 352 | oldctx = repo[ha] |
|
352 | 353 | if oldctx.parents()[0] == ctx: |
|
353 | 354 | ui.debug('node %s unchanged\n' % ha[:12]) |
@@ -369,7 +370,8 b' def pick(ui, state, ha, opts):' | |||
|
369 | 370 | |
|
370 | 371 | |
|
371 | 372 | def edit(ui, state, ha, opts): |
|
372 | repo, ctx = state.repo, state.parentctx | |
|
373 | repo, ctxnode = state.repo, state.parentctxnode | |
|
374 | ctx = repo[ctxnode] | |
|
373 | 375 | oldctx = repo[ha] |
|
374 | 376 | hg.update(repo, ctx.node()) |
|
375 | 377 | applychanges(ui, repo, oldctx, opts) |
@@ -383,7 +385,8 b' def rollup(ui, state, ha, opts):' | |||
|
383 | 385 | return fold(ui, state, ha, rollupopts) |
|
384 | 386 | |
|
385 | 387 | def fold(ui, state, ha, opts): |
|
386 | repo, ctx = state.repo, state.parentctx | |
|
388 | repo, ctxnode = state.repo, state.parentctxnode | |
|
389 | ctx = repo[ctxnode] | |
|
387 | 390 | oldctx = repo[ha] |
|
388 | 391 | hg.update(repo, ctx.node()) |
|
389 | 392 | stats = applychanges(ui, repo, oldctx, opts) |
@@ -439,12 +442,14 b' def finishfold(ui, repo, ctx, oldctx, ne' | |||
|
439 | 442 | return repo[n], replacements |
|
440 | 443 | |
|
441 | 444 | def drop(ui, state, ha, opts): |
|
442 | repo, ctx = state.repo, state.parentctx | |
|
445 | repo, ctxnode = state.repo, state.parentctxnode | |
|
446 | ctx = repo[ctxnode] | |
|
443 | 447 | return ctx, [(repo[ha].node(), ())] |
|
444 | 448 | |
|
445 | 449 | |
|
446 | 450 | def message(ui, state, ha, opts): |
|
447 | repo, ctx = state.repo, state.parentctx | |
|
451 | repo, ctxnode = state.repo, state.parentctxnode | |
|
452 | ctx = repo[ctxnode] | |
|
448 | 453 | oldctx = repo[ha] |
|
449 | 454 | hg.update(repo, ctx.node()) |
|
450 | 455 | stats = applychanges(ui, repo, oldctx, opts) |
@@ -604,7 +609,7 b' def _histedit(ui, repo, state, *freeargs' | |||
|
604 | 609 | ui.debug('restore wc to old parent %s\n' % node.short(state.topmost)) |
|
605 | 610 | # check whether we should update away |
|
606 | 611 | parentnodes = [c.node() for c in repo[None].parents()] |
|
607 |
for n in leafs | set([state.parentctx |
|
|
612 | for n in leafs | set([state.parentctxnode]): | |
|
608 | 613 | if n in parentnodes: |
|
609 | 614 | hg.clean(repo, state.topmost) |
|
610 | 615 | break |
@@ -660,9 +665,9 b' def _histedit(ui, repo, state, *freeargs' | |||
|
660 | 665 | if l and not l.startswith('#')] |
|
661 | 666 | rules = verifyrules(rules, repo, ctxs) |
|
662 | 667 | |
|
663 | parentctx = repo[root].parents()[0] | |
|
668 | parentctxnode = repo[root].parents()[0].node() | |
|
664 | 669 | |
|
665 | state.parentctx = parentctx | |
|
670 | state.parentctxnode = parentctxnode | |
|
666 | 671 | state.rules = rules |
|
667 | 672 | state.keep = keep |
|
668 | 673 | state.topmost = topmost |
@@ -673,11 +678,12 b' def _histedit(ui, repo, state, *freeargs' | |||
|
673 | 678 | action, ha = state.rules.pop(0) |
|
674 | 679 | ui.debug('histedit: processing %s %s\n' % (action, ha[:12])) |
|
675 | 680 | actfunc = actiontable[action] |
|
676 |
|
|
|
681 | parentctx, replacement_ = actfunc(ui, state, ha, opts) | |
|
682 | state.parentctxnode = parentctx.node() | |
|
677 | 683 | state.replacements.extend(replacement_) |
|
678 | 684 | state.write() |
|
679 | 685 | |
|
680 |
hg.update(repo, state.parentctx |
|
|
686 | hg.update(repo, state.parentctxnode) | |
|
681 | 687 | |
|
682 | 688 | mapping, tmpnodes, created, ntm = processreplacement(state) |
|
683 | 689 | if mapping: |
@@ -730,7 +736,8 b' def gatherchildren(repo, ctx):' | |||
|
730 | 736 | return newchildren |
|
731 | 737 | |
|
732 | 738 | def bootstrapcontinue(ui, state, opts): |
|
733 | repo, parentctx = state.repo, state.parentctx | |
|
739 | repo, parentctxnode = state.repo, state.parentctxnode | |
|
740 | parentctx = repo[parentctxnode] | |
|
734 | 741 | action, currentnode = state.rules.pop(0) |
|
735 | 742 | ctx = repo[currentnode] |
|
736 | 743 | |
@@ -786,7 +793,7 b' def bootstrapcontinue(ui, state, opts):' | |||
|
786 | 793 | # otherwise update "parentctx" before proceeding to further operation |
|
787 | 794 | parentctx = repo[newchildren[-1]] |
|
788 | 795 | |
|
789 | state.parentctx = parentctx | |
|
796 | state.parentctxnode = parentctx.node() | |
|
790 | 797 | state.replacements.extend(replacements) |
|
791 | 798 | |
|
792 | 799 | return state |
General Comments 0
You need to be logged in to leave comments.
Login now