Mercurial > hg
diff tests/test-rebase-obsolete2.t @ 46863:d9601243b73c
rebase: when using --keep, don't care about pruned commits or divergence
`hg rebase --keep` creates duplicate commits (not successors), so I
was surprised that it still skips pruned commits and errors out if it
"would cause divergence" (it wouldn't). I guess this was just an
oversight. We didn't have any tests for it, so I also included that.
Differential Revision: https://phab.mercurial-scm.org/D10269
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 25 Mar 2021 11:35:16 -0700 |
parents | 13b200ffe8eb |
children | f8f2ecdde4b5 |
line wrap: on
line diff
--- a/tests/test-rebase-obsolete2.t Thu Mar 25 08:38:16 2021 -0700 +++ b/tests/test-rebase-obsolete2.t Thu Mar 25 11:35:16 2021 -0700 @@ -317,3 +317,25 @@ note: not rebasing 20:8b31da3c4919 "dummy change", already in destination as 18:601db7a18f51 "dummy change successor" rebasing 21:7bdc8a87673d tip "dummy change" $ cd .. + +Can rebase pruned and rewritten commits with --keep + + $ hg init keep + $ cd keep + $ hg debugdrawdag <<'EOS' + > D + > | + > C + > | + > F B E # prune: B + > \|/ # rebase: C -> E + > A + > EOS + 1 new orphan changesets + + $ hg rebase -b D -d F --keep + rebasing 1:112478962961 B "B" + rebasing 4:26805aba1e60 C "C" + rebasing 5:f585351a92f8 D tip "D" + + $ cd ..