# HG changeset patch # User Jun Wu # Date 1499557831 25200 # Node ID 28f75a1695fb8938a2b4752df8e59eb562548a5d # Parent 72c25a9198a120bf5c2638936a6d46147a023739 histedit: pass multiple nodes to strip (BC) Previously, histedit.cleanupnode pass root nodes one by one. Since repair.strip takes multiple nodes and can handle them just fine, pass all strip roots at once. This is BC because the number of strip backup files may change from N to 1. diff -r 72c25a9198a1 -r 28f75a1695fb hgext/histedit.py --- a/hgext/histedit.py Sat Jul 08 16:50:31 2017 -0700 +++ b/hgext/histedit.py Sat Jul 08 16:50:31 2017 -0700 @@ -1603,11 +1603,8 @@ nm = repo.changelog.nodemap nodes = sorted(n for n in nodes if n in nm) roots = [c.node() for c in repo.set("roots(%ln)", nodes)] - for c in roots: - # We should process node in reverse order to strip tip most first. - # but this trigger a bug in changegroup hook. - # This would reduce bundle overhead - repair.strip(ui, repo, c) + if roots: + repair.strip(ui, repo, roots) def safecleanupnode(ui, repo, nodes): """strip or obsolete nodes