Excerpts from Martin von Zweigbergk's message of 2017-07-09 13:44:26 -0700:
> If we wanted to, we could drop support for the case you in the mention
> there (with the AD and BC strips) and make each call to delayedstrip()
> result in one backup (with its own name/topic). I think I prefer that
> anyway, unless we can think of a concrete example where that case
> actually occurs in practice.

In the split case,
                         B  o
                            |
  B o      B o o A2      A2 o
    |  ->    | |     ->     |
  A o      A x o A1      A1 o
    |        |/             |
  Z o      Z o           Z  o

Rebase calls delayedstrip([B], 'rebase'), and strip calls delayedstrip([A],
'split'). It seems better to put them in a single backup file since B
depends on A. That could reduce bundle size, and the user seems to always
want to restore B and A together.

It seems the only difference we care about is whether the node to strip is
intermediate or not. I guess we could figure that out automatically from a
transaction, or a snapshot of all changelog heads for multiple transaction
case.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to