Mercurial > evolve
diff tests/test-topic-stack-data.t @ 2109:90ab79764ce4 mercurial-4.0
mercurial-4.0: merge with future 6.0.0
A new version will be released soon, we start handling mismatch in test output
to make the actual release time smoother.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 14 Mar 2017 14:38:10 -0700 |
parents | db617700d318 |
children | f19b314d8475 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-topic-stack-data.t Tue Mar 14 14:38:10 2017 -0700 @@ -0,0 +1,270 @@ +Setup +===== + + $ . "$TESTDIR/testlib/topic_setup.sh" + + $ hg init test-list + $ cd test-list + $ cat <<EOF >> .hg/hgrc + > [phases] + > publish=false + > EOF + $ cat <<EOF >> $HGRCPATH + > [experimental] + > # disable the new graph style until we drop 3.7 support + > graphstyle.missing = | + > # turn evolution on + > evolution=all + > EOF + + + $ mkcommit() { + > echo "$1" > "$1" + > hg add "$1" + > hg ci -m "add $1" + > } + +Build some basic graph +---------------------- + + $ for x in base_a base_b base_c base_d base_e ; do + > mkcommit $x + > done + +Add another branch with two heads + + $ hg up 'desc(base_a)' + 0 files updated, 0 files merged, 4 files removed, 0 files unresolved + $ hg branch lake + marked working directory as branch lake + (branches are permanent and global, did you want a bookmark?) + $ mkcommit lake_a + $ mkcommit lake_b + $ hg up 'desc(lake_a)' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ mkcommit lake_c + created new head + + +Add some topics +--------------- + +A simple topic that need rebasing + + $ hg up 'desc(base_c)' + 2 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg topic baz + $ mkcommit baz_a + $ mkcommit baz_b + +A simple topic with unstability + + $ hg up 'desc(base_d)' + 1 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg topic fuz + $ mkcommit fuz_a + $ mkcommit fuz_b + $ mkcommit fuz_c + $ hg up 'desc(fuz_a)' + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg commit --amend --message 'fuz1_a' + +A topic with multiple heads + + $ hg up 'desc(base_e)' + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg topic bar + $ mkcommit bar_a + $ mkcommit bar_b + $ mkcommit bar_c + $ hg up 'desc(bar_b)' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ mkcommit bar_d + $ mkcommit bar_e + $ hg up 'desc(bar_d)' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg commit --amend --message 'bar1_d' + +topic 'foo' on the multi headed branch + + $ hg up 'desc(lake_a)' + 1 files updated, 0 files merged, 7 files removed, 0 files unresolved + $ hg topic foo + $ mkcommit foo_a + $ mkcommit foo_b + +Summary +------- + + $ hg summary + parent: 21:3e54b49a3113 tip + add foo_b + branch: lake + commit: (clean) + update: 2 new changesets (update) + phases: 22 draft + unstable: 3 changesets + topic: foo + $ hg log --graph -T '{desc} ({branch}) [{topic}]' + @ add foo_b (lake) [] + | + o add foo_a (lake) [] + | + | o bar1_d (default) [] + | | + | | o add bar_e (default) [] + | | | + | | x add bar_d (default) [] + | |/ + | | o add bar_c (default) [] + | |/ + | o add bar_b (default) [] + | | + | o add bar_a (default) [] + | | + | | o fuz1_a (default) [] + | | | + | | | o add fuz_c (default) [] + | | | | + | | | o add fuz_b (default) [] + | | | | + | | | x add fuz_a (default) [] + | | |/ + | | | o add baz_b (default) [] + | | | | + | | | o add baz_a (default) [] + | | | | + +-------o add lake_c (lake) [] + | | | | + +-------o add lake_b (lake) [] + | | | | + o | | | add lake_a (lake) [] + | | | | + | o | | add base_e (default) [] + | |/ / + | o / add base_d (default) [] + | |/ + | o add base_c (default) [] + | | + | o add base_b (default) [] + |/ + o add base_a (default) [] + + +Actual Testing +============== + +basic output + + $ hg topic + bar + baz + * foo + fuz + +quiet version + + $ hg topic --quiet + bar + baz + foo + fuz + +verbose + + $ hg topic --verbose + bar (on branch: default, 5 changesets, 1 troubled, 2 heads) + baz (on branch: default, 2 changesets, 2 behind) + * foo (on branch: lake, 2 changesets, ambiguous destination) + fuz (on branch: default, 3 changesets, 2 troubled, 1 behind) + +json + + $ hg topic -T json + [ + { + "active": false, + "topic": "bar" + }, + { + "active": false, + "topic": "baz" + }, + { + "active": true, + "topic": "foo" + }, + { + "active": false, + "topic": "fuz" + } + ] + +json --verbose + + $ hg topic -T json --verbose + [ + { + "active": false, + "branches+": "default", + "changesetcount": 5, + "headcount": 2, + "topic": "bar", + "troubledcount": 1 + }, + { + "active": false, + "behindcount": 2, + "branches+": "default", + "changesetcount": 2, + "topic": "baz" + }, + { + "active": true, + "behinderror": "ambiguous destination", + "branches+": "lake", + "changesetcount": 2, + "topic": "foo" + }, + { + "active": false, + "behindcount": 1, + "branches+": "default", + "changesetcount": 3, + "topic": "fuz", + "troubledcount": 2 + } + ] + +Also test this situation with 'hg stack' +======================================= + + $ hg stack bar + ### topic: bar (2 heads) + ### branch: default + t5: add bar_c + t2^ add bar_b (base) + t4$ add bar_e (unstable) + t3: bar1_d + t2: add bar_b + t1: add bar_a + ^ add base_e + $ hg stack baz + ### topic: baz + ### branch: default, 2 behind + t2: add baz_b + t1: add baz_a + ^ add base_c + $ hg stack foo + ### topic: foo + ### branch: lake, ambigious rebase destination + t2@ add foo_b (current) + t1: add foo_a + ^ add lake_a + $ hg stack fuz + ### topic: fuz + ### branch: default, 1 behind + t3$ add fuz_c (unstable) + t2$ add fuz_b (unstable) + t1: fuz1_a + ^ add base_d