tests: reduce dependence on previous tests for setup
The tests in test-evolve-phase-divergence.t built on each other for no
good reason, which makes the tests hard to modify and hard to read.
This patch cleans up some of them. We should clean up the rest too,
but the rest won't matter for my next patch, so I haven't bothered.
This test file test the #6028 issue
evolve fails with mercurial.error.ProgrammingError: unsupported changeid '' of type <type 'str'>
https://bz.mercurial-scm.org/show_bug.cgi?id=6028
Global setup
============
$ . $TESTDIR/testlib/common.sh
$ cat >> $HGRCPATH <<EOF
> [ui]
> interactive = true
> [phases]
> publish=False
> [extensions]
> evolve =
> topic =
> EOF
Test
====
$ hg init $TESTTMP/issue-6028
$ cd $TESTTMP/issue-6028
create initial commit
$ echo "0" > 0
$ hg ci -Am 0
adding 0
$ hg up default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg topics a
marked working directory as topic: a
$ echo "a" > a
$ hg ci -Am a
adding a
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
marked working directory as topic: b
$ echo "b" > b
$ hg ci -Am b
adding b
active topic 'b' 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 branch integration
marked working directory as branch integration
$ hg merge a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m "merged a"
$ hg merge b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m "merged b"
$ hg up a
switching to topic a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "a bad commit" >> a_bad_commit
$ hg add a_bad_commit
$ hg ci -m "a bad commit"
$ hg up integration
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg merge a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m "merged a bad commit"
$ hg up a
switching to topic a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "aa" >> a
$ hg ci -m "aa"
$ hg up integration
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m "merged aa"
$ hg up b
switching to topic b
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ echo "bb" >> b
$ hg ci -m "bb"
$ hg up integration
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(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
$ hg prune -r 5:6
2 changesets pruned
3 new orphan changesets
$ hg up 4
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
start the evolve
$ hg evolve
move:[8] merged aa
atop:[4] merged b
working directory is now at c920dd828523
evolve creates an obsolete changeset above as 11
$ hg evolve -r .
cannot solve instability of c920dd828523, skipping
cannot solve instability of c920dd828523, skipping