Mercurial > hg
changeset 36979:b9a6ee2066f9 stable
tests: demonstrate aborted rebase strips commits that didn't need rebasing
I haven't verified, but this has probably been broken ever since I
added the feature in 78496ac30025 (rebase: allow rebase even if some
revisions need no rebase (BC) (issue5422), 2017-05-11).
Differential Revision: https://phab.mercurial-scm.org/D2877
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 15 Mar 2018 21:51:33 -0700 |
parents | ff2370a70fe8 |
children | a046d6890761 |
files | tests/test-rebase-partial.t |
diffstat | 1 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-rebase-partial.t Mon Mar 12 13:15:00 2018 -0700 +++ b/tests/test-rebase-partial.t Thu Mar 15 21:51:33 2018 -0700 @@ -69,6 +69,36 @@ |/ o 0: 426bada5c675 A +Abort doesn't lose the commits that were already in the right place + + $ hg init abort + $ cd abort + $ hg debugdrawdag <<EOF + > C + > | + > B D # B/file = B + > |/ # D/file = D + > A + > EOF + $ hg rebase -r C+D -d B + rebasing 2:ef8c0fe0897b "D" (D) + merging file + warning: conflicts while merging file! (edit, then use 'hg resolve --mark') + unresolved conflicts (see hg resolve, then hg rebase --continue) + [1] + $ hg rebase --abort + saved backup bundle to $TESTTMP/abort/.hg/strip-backup/79f6d6ab7b14-cce2340e-backup.hg + rebase aborted +BROKEN: C got stripped + $ hg tglog + o 2: ef8c0fe0897b D + | + | o 1: 594087dbaf71 B + |/ + o 0: 426bada5c675 A + + $ cd .. + Rebase with "holes". The commits after the hole should end up on the parent of the hole (B below), not on top of the destination (A).