diff -r fc065ec30351 -r f9a850018daa tests/test-topic-stack.t --- a/tests/test-topic-stack.t Tue Aug 28 11:24:52 2018 +0200 +++ b/tests/test-topic-stack.t Mon Sep 03 22:06:12 2018 +0200 @@ -60,8 +60,8 @@ $ hg topic --list ### topic: other ### target: default (branch) - t2@ c_b (current) - t1: c_a + s2@ c_b (current) + s1: c_a $ hg phase --public 'topic("other")' active topic 'other' is now empty @@ -74,7 +74,7 @@ ### topic: other ### target: default (branch) (stack is empty) - t0^ c_b (base current) + s0^ c_b (base current) $ hg up foo switching to topic foo @@ -90,19 +90,19 @@ $ hg stack ### topic: foo ### target: default (branch) - t4@ c_f (current) - t3: c_e - t2: c_d - t1: c_c - t0^ c_b (base) + s4@ c_f (current) + s3: c_e + s2: c_d + s1: c_c + s0^ c_b (base) $ hg stack -v ### topic: foo ### target: default (branch) - t4(6559e6d93aea)@ c_f (current) - t3(0f9ac936c87d): c_e - t2(e629654d7050): c_d - t1(8522f9e3fee9): c_c - t0(ea705abc4f51)^ c_b (base) + s4(6559e6d93aea)@ c_f (current) + s3(0f9ac936c87d): c_e + s2(e629654d7050): c_d + s1(8522f9e3fee9): c_c + s0(ea705abc4f51)^ c_b (base) $ hg stack -Tjson | python -m json.tool [ { @@ -212,21 +212,21 @@ $ hg stack ### topic: foo ### target: default (branch) - t4@ c_f (current) - t3: c_e - t2: c_d - t1: c_c - t0^ c_b (base) + s4@ c_f (current) + s3: c_e + s2: c_d + s1: c_c + s0^ c_b (base) $ hg topics --config ui.strict=true * foo (4 changesets) $ hg stack --config ui.strict=true ### topic: foo ### target: default (branch) - t4@ c_f (current) - t3: c_e - t2: c_d - t1: c_c - t0^ c_b (base) + s4@ c_f (current) + s3: c_e + s2: c_d + s1: c_c + s0^ c_b (base) error case, nothing to list @@ -234,21 +234,24 @@ $ hg stack ### target: default (branch) (stack is empty) - b0^ c_f (base current) + s0^ c_f (base current) Test "t#" reference ------------------- - $ hg up t2 - abort: cannot resolve "t2": no active topic + $ hg up s2 + abort: cannot resolve "s2": branch "default" has only 0 non-public changesets [255] $ hg topic foo marked working directory as topic: foo $ hg up t42 abort: cannot resolve "t42": topic "foo" has only 4 changesets [255] - $ hg up t2 + $ hg up s42 + abort: cannot resolve "s42": topic "foo" has only 4 changesets + [255] + $ hg up s2 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ hg summary parent: 3:e629654d7050 @@ -282,30 +285,30 @@ $ hg topic --list ### topic: foo ### target: default (branch) - t4$ c_f (unstable) - t3$ c_e (unstable) - t2@ c_d (current) - t1: c_c - t0^ c_b (base) - $ hg up t3 + s4$ c_f (unstable) + s3$ c_e (unstable) + s2@ c_d (current) + s1: c_c + s0^ c_b (base) + $ hg up s3 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg topic --list ### topic: foo ### target: default (branch) - t4$ c_f (unstable) - t3$ c_e (current unstable) - t2: c_d - t1: c_c - t0^ c_b (base) + s4$ c_f (unstable) + s3$ c_e (current unstable) + s2: c_d + s1: c_c + s0^ c_b (base) $ hg topic --list --color=debug [topic.stack.summary.topic|### topic: [topic.active|foo]] [topic.stack.summary.branches|### target: default (branch)] - [topic.stack.index topic.stack.index.unstable|t4][topic.stack.state topic.stack.state.unstable|$] [topic.stack.desc topic.stack.desc.unstable|c_f][topic.stack.state topic.stack.state.unstable| (unstable)] - [topic.stack.index topic.stack.index.current topic.stack.index.unstable|t3][topic.stack.state topic.stack.state.current topic.stack.state.unstable|$] [topic.stack.desc topic.stack.desc.current topic.stack.desc.unstable|c_e][topic.stack.state topic.stack.state.current topic.stack.state.unstable| (current unstable)] - [topic.stack.index topic.stack.index.clean|t2][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_d] - [topic.stack.index topic.stack.index.clean|t1][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_c] - [topic.stack.index topic.stack.index.base|t0][topic.stack.state topic.stack.state.base|^] [topic.stack.desc topic.stack.desc.base|c_b][topic.stack.state topic.stack.state.base| (base)] - $ hg up t2 + [topic.stack.index topic.stack.index.unstable|s4][topic.stack.state topic.stack.state.unstable|$] [topic.stack.desc topic.stack.desc.unstable|c_f][topic.stack.state topic.stack.state.unstable| (unstable)] + [topic.stack.index topic.stack.index.current topic.stack.index.unstable|s3][topic.stack.state topic.stack.state.current topic.stack.state.unstable|$] [topic.stack.desc topic.stack.desc.current topic.stack.desc.unstable|c_e][topic.stack.state topic.stack.state.current topic.stack.state.unstable| (current unstable)] + [topic.stack.index topic.stack.index.clean|s2][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_d] + [topic.stack.index topic.stack.index.clean|s1][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_c] + [topic.stack.index topic.stack.index.base|s0][topic.stack.state topic.stack.state.base|^] [topic.stack.desc topic.stack.desc.base|c_b][topic.stack.state topic.stack.state.base| (base)] + $ hg up s2 1 files updated, 0 files merged, 1 files removed, 0 files unresolved Also test the revset: @@ -380,14 +383,14 @@ $ hg top -l ### topic: foo (2 heads) ### target: default (branch) - t6@ c_h (current) - t5: c_g - t2^ c_d (base) - t4: c_f - t3: c_e - t2: c_d - t1: c_c - t0^ c_b (base) + s6@ c_h (current) + s5: c_g + s2^ c_d (base) + s4: c_f + s3: c_e + s2: c_d + s1: c_c + s0^ c_b (base) Case with multiple heads on the topic with unstability involved --------------------------------------------------------------- @@ -424,14 +427,14 @@ $ hg topic --list ### topic: foo (2 heads) ### target: default (branch) - t6: c_h - t5: c_g - t2^ c_D (base current) - t4$ c_f (unstable) - t3$ c_e (unstable) - t2@ c_D (current) - t1: c_c - t0^ c_b (base) + s6: c_h + s5: c_g + s2^ c_D (base current) + s4$ c_f (unstable) + s3$ c_e (unstable) + s2@ c_D (current) + s1: c_c + s0^ c_b (base) Trying to list non existing topic $ hg stack thisdoesnotexist @@ -548,21 +551,21 @@ $ hg stack ### topic: foobar ### target: default (branch), 3 behind - t2@ c_e (current) + s2@ c_e (current) ^ c_h - t1: c_D - t0^ c_c (base) + s1: c_D + s0^ c_c (base) $ hg stack foo ### topic: foo ### target: default (branch), ambiguous rebase destination - topic 'foo' has 3 heads - t4: c_f + s4: c_f ^ c_e - t3: c_h - t2: c_g + s3: c_h + s2: c_g ^ c_D - t1: c_c - t0^ c_b (base) + s1: c_c + s0^ c_b (base) case involving a merge ---------------------- @@ -638,24 +641,24 @@ $ hg stack red ### topic: red ### target: default (branch), 6 behind - t5: c_H + s5: c_H ^ c_G ^ c_D - t4: c_C - t1^ c_B (base) - t3: c_F - t2: c_E - t1: c_B - t0^ c_A (base) + s4: c_C + s1^ c_B (base) + s3: c_F + s2: c_E + s1: c_B + s0^ c_A (base) $ hg stack blue ### topic: blue ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads - t3@ c_I (current) + s3@ c_I (current) ^ c_H - t2: c_D + s2: c_D ^ c_C - t1: c_G - t0^ c_F (base) + s1: c_G + s0^ c_F (base) Even with some obsolete and orphan changesets @@ -703,24 +706,24 @@ $ hg stack red ### topic: red ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads - t5$ c_H (unstable) + s5$ c_H (unstable) ^ c_G ^ c_D - t4$ c_C (unstable) - t1^ c_B (base) - t3$ c_F (unstable) - t2$ c_E (unstable) - t1: c_B - t0^ c_A (base) + s4$ c_C (unstable) + s1^ c_B (base) + s3$ c_F (unstable) + s2$ c_E (unstable) + s1: c_B + s0^ c_A (base) $ hg stack blue ### topic: blue ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads - t3$ c_I (unstable) + s3$ c_I (unstable) ^ c_H - t2$ c_G (unstable) + s2$ c_G (unstable) ^ c_F - t1$ c_D (current unstable) - t0^ c_C (base unstable) + s1$ c_D (current unstable) + s0^ c_C (base unstable) more obsolescence @@ -777,49 +780,49 @@ $ hg stack red ### topic: red ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads - t5$ c_H (unstable) + s5$ c_H (unstable) ^ c_G ^ c_D - t4$ c_F (unstable) - t3$ c_E (unstable) - t1^ c_B (base) - t2$ c_C (unstable) - t1: c_B - t0^ c_A (base) + s4$ c_F (unstable) + s3$ c_E (unstable) + s1^ c_B (base) + s2$ c_C (unstable) + s1: c_B + s0^ c_A (base) $ hg stack blue ### topic: blue ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads - t3$ c_I (unstable) + s3$ c_I (unstable) ^ c_H - t2$ c_G (unstable) + s2$ c_G (unstable) ^ c_F - t1$ c_D (current unstable) - t0^ c_C (base unstable) + s1$ c_D (current unstable) + s0^ c_C (base unstable) Test stack behavior with a split -------------------------------- get things linear again - $ hg rebase -r t1 -d default + $ hg rebase -r s1 -d default rebasing 16:1d84ec948370 "c_D" (tip blue) switching to topic blue - $ hg rebase -r t2 -d t1 + $ hg rebase -r s2 -d s1 rebasing 13:3ab2eedae500 "c_G" (blue) - $ hg rebase -r t3 -d t2 + $ hg rebase -r s3 -d s2 rebasing 8:3bfe800e0486 "c_I" (blue) $ hg stack ### topic: blue ### target: default (branch) - t3: c_I - t2: c_G - t1@ c_D (current) - t0^ c_A (base) + s3: c_I + s2: c_G + s1@ c_D (current) + s0^ c_A (base) making a split (first get something to split) - $ hg up t2 + $ hg up s2 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg status --change . A ggg @@ -832,10 +835,10 @@ $ hg stack ### topic: blue ### target: default (branch) - t3$ c_I (unstable) - t2@ c_G (current) - t1: c_D - t0^ c_A (base) + s3$ c_I (unstable) + s2@ c_G (current) + s1: c_D + s0^ c_A (base) $ hg --config extensions.evolve= --config ui.interactive=yes split << EOF > y > y @@ -912,8 +915,8 @@ $ hg stack ### topic: blue ### target: default (branch) - t4$ c_I (unstable) - t3@ c_G (current) - t2: c_G - t1: c_D - t0^ c_A (base) + s4$ c_I (unstable) + s3@ c_G (current) + s2: c_G + s1: c_D + s0^ c_A (base)