--- a/tests/test-issue-6028.t Fri Sep 13 16:04:32 2019 +0200
+++ b/tests/test-issue-6028.t Thu Sep 19 11:46:16 2019 +0700
@@ -25,10 +25,12 @@
$ cd $TESTTMP/issue-6028
create initial commit
+
$ echo "0" > 0
$ hg ci -Am 0
adding 0
+start new topics "a" and "b" both from 0
$ hg up default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -40,7 +42,6 @@
active topic 'a' grew its first changeset
(see 'hg help topics' for more information)
-
$ hg up default
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg topics b
@@ -51,6 +52,8 @@
active topic 'b' grew its first changeset
(see 'hg help topics' for more information)
+create branch "integration" from 0, merge topics "a" and "b" into it
+
$ hg up default
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg branch integration
@@ -66,6 +69,8 @@
(branch merge, don't forget to commit)
$ hg ci -m "merged b"
+commit a bad file on topic "a", merge it into "integration"
+
$ hg up a
switching to topic a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -79,6 +84,8 @@
(branch merge, don't forget to commit)
$ hg ci -m "merged a bad commit"
+add more commits on both topics and merge them into "integration"
+
$ hg up a
switching to topic a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -103,7 +110,12 @@
(branch merge, don't forget to commit)
$ hg ci -m "merged bb"
-create instability by pruning two changesets, one in a topic, one in a merge
+create instability by pruning two changesets, one in a topic, one a merge
+
+ $ hg log -r 5:6 -T '{rev}: {desc}\n'
+ 5: a bad commit
+ 6: merged a bad commit
+
$ hg prune -r 5:6
2 changesets pruned
3 new orphan changesets
@@ -112,12 +124,47 @@
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
start the evolve
+
$ hg evolve --update --no-all
move:[8] merged aa
atop:[4] merged b
working directory is now at c920dd828523
+casually checking issue6141: position of p2 is not changed
+
+ $ hg log -r 'predecessors(.) + .'
+ changeset: 8:3f6f25057afb
+ branch: integration
+ parent: 6:cfc4c333724f
+ parent: 7:61eff7f7bb6c
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ obsolete: rebased using evolve as 11:c920dd828523
+ summary: merged aa
+
+ changeset: 11:c920dd828523
+ branch: integration
+ tag: tip
+ parent: 4:e33aee2c715e
+ parent: 7:61eff7f7bb6c
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ instability: orphan
+ summary: merged aa
+
+
+test that we successfully got rid of the bad file
+
+ $ hg d --git -r 'predecessors(.)' -r '.'
+ diff --git a/a_bad_commit b/a_bad_commit
+ deleted file mode 100644
+ --- a/a_bad_commit
+ +++ /dev/null
+ @@ -1,1 +0,0 @@
+ -a bad commit
+
evolve creates an obsolete changeset above as 11
+
$ hg evolve -r .
cannot solve instability of c920dd828523, skipping
cannot solve instability of c920dd828523, skipping