diff -r dbd6d51e63f1 -r 36112e361ee4 tests/test-topic-stack.t --- a/tests/test-topic-stack.t Mon Mar 14 19:22:21 2016 +0000 +++ b/tests/test-topic-stack.t Mon Mar 14 23:37:58 2016 +0000 @@ -57,6 +57,7 @@ $ hg topic * foo $ hg topic --list + _ c_b t0: c_c t1: c_d t2: c_e @@ -104,7 +105,115 @@ o 0 default {} draft c_a $ hg topic --list + _ c_b t0: c_c t1@ c_d (current) t2$ c_e (unstable) t3$ c_f (unstable) + +Case with multiple heads on the topic +------------------------------------- + +Make things linear again + + $ hg rebase -s 'desc(c_e)' -d 'desc(c_d) - obsolete()' + rebasing 4:91fa8808d101 "c_e" + rebasing 5:4ec5094907b7 "c_f" + $ hg log -G + o 9 default {foo} draft c_f + | + o 8 default {foo} draft c_e + | + @ 7 default {foo} draft c_d + | + o 2 default {foo} draft c_c + | + o 1 default {} draft c_b + | + o 0 default {} draft c_a + + + +Create the second branch + + $ hg up 'desc(c_d)' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo aaa > ggg + $ hg add ggg + $ hg commit -m c_g + created new head + $ echo aaa > hhh + $ hg add hhh + $ hg commit -m c_h + created new head + $ hg log -G + @ 11 default {foo} draft c_h + | + o 10 default {foo} draft c_g + | + | o 9 default {foo} draft c_f + | | + | o 8 default {foo} draft c_e + |/ + o 7 default {foo} draft c_d + | + o 2 default {foo} draft c_c + | + o 1 default {} draft c_b + | + o 0 default {} draft c_a + + +Test output + + $ hg top -l + _ c_b + t0: c_c + t1: c_d + t2: c_g + t3@ c_h (current) + _ c_d + t4: c_e + t5: c_f + +Case with multiple heads on the topic with unstability involved +--------------------------------------------------------------- + +We amend the message to make sure the display base pick the right changeset + + $ hg up 'desc(c_d)' + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ echo ccc > ddd + $ hg commit --amend -m 'c_D' + $ hg rebase -d . -s 'desc(c_g)' + rebasing 10:11286b4fcb3d "c_g" + rebasing 11:3ad57527186d "c_h" + $ hg log -G + o 15 default {foo} draft c_h + | + o 14 default {foo} draft c_g + | + @ 13 default {foo} draft c_D + | + | o 9 default {foo} draft c_f + | | + | o 8 default {foo} draft c_e + | | + | x 7 default {foo} draft c_d + |/ + o 2 default {foo} draft c_c + | + o 1 default {} draft c_b + | + o 0 default {} draft c_a + + + $ hg topic --list + _ c_b + t0: c_c + t1@ c_D (current) + t2: c_g + t3: c_h + _ c_D + t4$ c_e (unstable) + t5$ c_f (unstable)