Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 22:45:44 +0200] rev 39919
rebase: explicitly track collapses as fold
A collapse is a large fold. It is now explicitly tracked (at the cleanupnodes
API level).
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 23:51:11 +0200] rev 39918
rebase: use tuple as `replacement` keys
Now that `cleanupnodes` support tuples as key, we update the rebase code to use
them. No changes in the replacement tracked are introduced yet.
Boris Feld <boris.feld@octobus.net> [Thu, 27 Sep 2018 00:15:21 +0200] rev 39917
rebase: expand a long "one-liner"
When a one-liner gets 3 lines longs, it lose its expressivity benefits. We
expand it into a simple for loop. This makes future changes of the code in
that area clearer.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 21:28:21 +0200] rev 39916
cleanupnodes: drop special casing around prune markers (API)
The `cleanupnodes` has logic to skip the creation of "prune" markers if the
changeset is already obsolete. This feels strange and gets in the way of code
changes to tracks folds. Now that callers no longer request such prune, we can
drop this logic.
In many cases, pruning through cleanupnodes should be replaced by internal
phase usage.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 22:05:28 +0200] rev 39915
rebase: don't try to prune obsolete changeset already in the destination
With similar motivations to the previous changesets, we stop marking changeset
from pruning when it is not the command intention. In this case, we still need
to distinguish between the strip and the obsolete case.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 21:51:29 +0200] rev 39914
histedit: don't cleanup nodes already disposed of
If something else took care of these temporary nodes, we don't need to do
anything about it. This less liberal usage of pruning through cleanup nodes
will help us further cleanup on the road to explicitly tracks folds.