D2877: tests: demonstrate aborted rebase strips commits that didn't need rebasing

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Fri Mar 16 05:36:47 UTC 2018


martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  I haven't verified, but this has probably been broken ever since I
  added the feature in https://phab.mercurial-scm.org/rHG78496ac300255e9996b3e282086661afc08af37c (rebase: allow rebase even if some
  revisions need no rebase (BC) (issue5422), 2017-05-11).

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2877

AFFECTED FILES
  tests/test-rebase-partial.t

CHANGE DETAILS

diff --git a/tests/test-rebase-partial.t b/tests/test-rebase-partial.t
--- a/tests/test-rebase-partial.t
+++ b/tests/test-rebase-partial.t
@@ -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).
 



To: martinvonz, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list