# HG changeset patch # User Boris Feld <boris.f...@octobus.net> # Date 1537994744 -7200 # Wed Sep 26 22:45:44 2018 +0200 # Node ID 95659bcaa0dc2eea9fd50da4f249b9869e36392f # Parent 79a0f8fcb5c1af9a8ad5dd292a8ef67d75b6779d # EXP-Topic trackfold # Available At https://bitbucket.org/octobus/mercurial-devel/ # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 95659bcaa0dc rebase: explicitly track collapses as fold
A collapse is a large fold. It is now explicitly tracked (at the cleanupnodes API level). diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1764,6 +1764,8 @@ def clearrebased(ui, repo, destmap, stat replacements = {} moves = {} stripcleanup = not obsolete.isenabled(repo, obsolete.createmarkersopt) + + collapsednodes = [] for rev, newrev in sorted(state.items()): if newrev >= 0 and newrev != rev: oldnode = tonode(rev) @@ -1774,10 +1776,14 @@ def clearrebased(ui, repo, destmap, stat if rev in skipped: if stripcleanup or not repo[rev].obsolete(): succs = () + elif collapsedas: + collapsednodes.append(oldnode) else: succs = (newnode,) if succs is not None: replacements[(oldnode,)] = succs + if collapsednodes: + replacements[tuple(collapsednodes)] = (collapsedas,) scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup) if fm: hf = fm.hexfunc _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel