diff -r 62b60fc1983d -r 6f5d3f58fbe4 tests/test-issue-6028.t --- a/tests/test-issue-6028.t Thu Sep 12 12:35:42 2019 +0200 +++ b/tests/test-issue-6028.t Tue Sep 24 12:42:27 2019 +0200 @@ -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