# HG changeset patch # User Anton Shestakov # Date 1568868376 -25200 # Node ID d6e2820dac1f7fe5b0b92b67cb937a432b18aae9 # Parent ee0866a279dada623cbfad7fa5233c5f4191ff1f tests: add some more actions to test-issue-6028, describe what's being done This patch does two things: it explains what's happening in the test file so it's easier to understand, and also it adds checks that make sure something like swapping merge parents is not accidentally breaking anything. The primary reason to touch this test file was that it was broken by a change in core's merge.graft() that erroneously swapped merge parents. Since only evolve uses merge.graft() for merge commits and there aren't any tests in core for it, let's test it here. Plus, this test case is pretty simple and these additional checks don't make it too complicated. diff -r ee0866a279da -r d6e2820dac1f tests/test-issue-6028.t --- 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