##// END OF EJS Templates
histedit: move `between function` outside the action logic...
Pierre-Yves David -
r17642:bea381c1 default
parent child Browse files
Show More
@@ -195,28 +195,6 b' def foldchanges(ui, repo, node1, node2, '
195 os.unlink(patchfile)
195 os.unlink(patchfile)
196 return files
196 return files
197
197
198 def between(repo, old, new, keep):
199 """select and validate the set of revision to edit
200
201 When keep is false, the specified set can't have children."""
202 revs = [old]
203 current = old
204 while current != new:
205 ctx = repo[current]
206 if not keep and len(ctx.children()) > 1:
207 raise util.Abort(_('cannot edit history that would orphan nodes'))
208 if len(ctx.parents()) != 1 and ctx.parents()[1] != node.nullid:
209 raise util.Abort(_("can't edit history with merges"))
210 if not ctx.children():
211 current = new
212 else:
213 current = ctx.children()[0].node()
214 revs.append(current)
215 if len(repo[current].children()) and not keep:
216 raise util.Abort(_('cannot edit history that would orphan nodes'))
217 return revs
218
219
220 def pick(ui, repo, ctx, ha, opts):
198 def pick(ui, repo, ctx, ha, opts):
221 oldctx = repo[ha]
199 oldctx = repo[ha]
222 if oldctx.parents()[0] == ctx:
200 if oldctx.parents()[0] == ctx:
@@ -625,6 +603,28 b' def histedit(ui, repo, *parent, **opts):'
625 os.unlink(repo.sjoin('undo'))
603 os.unlink(repo.sjoin('undo'))
626
604
627
605
606 def between(repo, old, new, keep):
607 """select and validate the set of revision to edit
608
609 When keep is false, the specified set can't have children."""
610 revs = [old]
611 current = old
612 while current != new:
613 ctx = repo[current]
614 if not keep and len(ctx.children()) > 1:
615 raise util.Abort(_('cannot edit history that would orphan nodes'))
616 if len(ctx.parents()) != 1 and ctx.parents()[1] != node.nullid:
617 raise util.Abort(_("can't edit history with merges"))
618 if not ctx.children():
619 current = new
620 else:
621 current = ctx.children()[0].node()
622 revs.append(current)
623 if len(repo[current].children()) and not keep:
624 raise util.Abort(_('cannot edit history that would orphan nodes'))
625 return revs
626
627
628 def writestate(repo, parentctxnode, created, replaced,
628 def writestate(repo, parentctxnode, created, replaced,
629 tmpnodes, existing, rules, keep, oldtip, replacemap):
629 tmpnodes, existing, rules, keep, oldtip, replacemap):
630 fp = open(os.path.join(repo.path, 'histedit-state'), 'w')
630 fp = open(os.path.join(repo.path, 'histedit-state'), 'w')
General Comments 0
You need to be logged in to leave comments. Login now