Mercurial > evolve
changeset 4843:d6e2820dac1f stable
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.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Thu, 19 Sep 2019 11:46:16 +0700 |
parents | ee0866a279da |
children | 2488ec1bd22f |
files | tests/test-issue-6028.t |
diffstat | 1 files changed, 49 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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