tests/test-topic-stack.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 22 Jan 2019 12:55:09 -0500
branchmercurial-4.5
changeset 4362 8bd60e09dfb4
parent 4307 add4c12a9c37
parent 4356 a71f2271ed76
child 4363 a2fdbece7ce1
child 4514 ef1c322c389d
permissions -rw-r--r--
test-compat: merge mercurial-4.6 into mercurial-4.5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2045
db617700d318 tests: move "test setup" script into a 'testlib' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1998
diff changeset
     1
  $ . "$TESTDIR/testlib/topic_setup.sh"
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
Initial setup
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     5
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
  $ cat << EOF >> $HGRCPATH
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
  > [ui]
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
  > logtemplate = {rev} {branch} \{{get(namespaces, "topics")}} {phase} {desc|firstline}\n
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
     9
  > [experimental]
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    10
  > evolution=all
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
  > EOF
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    12
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
  $ hg init main
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
  $ cd main
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
    15
  $ hg topic other
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2939
diff changeset
    16
  marked working directory as topic: other
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
  $ echo aaa > aaa
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    18
  $ hg add aaa
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
  $ hg commit -m c_a
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
    20
  active topic 'other' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3567
diff changeset
    21
  (see 'hg help topics' for more information)
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    22
  $ echo aaa > bbb
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    23
  $ hg add bbb
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    24
  $ hg commit -m c_b
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    25
  $ hg topic foo
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
  $ echo aaa > ccc
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    27
  $ hg add ccc
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    28
  $ hg commit -m c_c
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
    29
  active topic 'foo' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3567
diff changeset
    30
  (see 'hg help topics' for more information)
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    31
  $ echo aaa > ddd
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    32
  $ hg add ddd
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    33
  $ hg commit -m c_d
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    34
  $ echo aaa > eee
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    35
  $ hg add eee
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    36
  $ hg commit -m c_e
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
  $ echo aaa > fff
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    38
  $ hg add fff
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    39
  $ hg commit -m c_f
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    40
  $ hg log -G
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    41
  @  5 default {foo} draft c_f
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    42
  |
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    43
  o  4 default {foo} draft c_e
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    44
  |
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    45
  o  3 default {foo} draft c_d
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    46
  |
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    47
  o  2 default {foo} draft c_c
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    48
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
    49
  o  1 default {other} draft c_b
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    50
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
    51
  o  0 default {other} draft c_a
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    52
  
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    53
1961
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    54
Check that topic without any parent does not crash --list
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    55
---------------------------------------------------------
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    56
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    57
  $ hg up other
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    58
  switching to topic other
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    59
  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    60
  $ hg topic --list
1995
54d6dff699f0 stack: add some header with the topic name
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1991
diff changeset
    61
  ### topic: other
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
    62
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    63
  s2@ c_b (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    64
  s1: c_a
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
    65
  $ hg phase --public 'topic("other")'
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
    66
  active topic 'other' is now empty
2911
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    67
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    68
After changing the phase of all the changesets in "other" to public, the topic should still be active, but is empty. We should be better at informating the user about it and displaying good data in this case.
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    69
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    70
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    71
     foo   (4 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    72
   * other (0 changesets)
2911
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    73
  $ hg stack
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    74
  ### topic: other
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
    75
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
    76
  (stack is empty)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    77
  s0^ c_b (base current)
2911
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    78
1961
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    79
  $ hg up foo
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    80
  switching to topic foo
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    81
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
    82
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    83
Simple test
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
-----------
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    85
1973
e97458bf53be stack: introduce and explicite command to display the stack
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1961
diff changeset
    86
'hg stack' list all changeset in the topic
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    87
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    88
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    89
   * foo (4 changesets)
1973
e97458bf53be stack: introduce and explicite command to display the stack
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1961
diff changeset
    90
  $ hg stack
1995
54d6dff699f0 stack: add some header with the topic name
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1991
diff changeset
    91
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
    92
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    93
  s4@ c_f (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    94
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    95
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    96
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    97
  s0^ c_b (base)
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
    98
  $ hg stack -v
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
    99
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   100
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   101
  s4(6559e6d93aea)@ c_f (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   102
  s3(0f9ac936c87d): c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   103
  s2(e629654d7050): c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   104
  s1(8522f9e3fee9): c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   105
  s0(ea705abc4f51)^ c_b (base)
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   106
  $ hg stack -Tjson | python -m json.tool
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   107
  [
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   108
      {
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   109
          "isentry": true,
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   110
          "topic.stack.desc": "c_f",
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   111
          "topic.stack.index": 4,
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   112
          "topic.stack.state": [
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   113
              "current"
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   114
          ],
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   115
          "topic.stack.state.symbol": "@"
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   116
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   117
      {
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   118
          "isentry": true,
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   119
          "topic.stack.desc": "c_e",
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   120
          "topic.stack.index": 3,
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   121
          "topic.stack.state": [
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   122
              "clean"
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   123
          ],
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   124
          "topic.stack.state.symbol": ":"
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   125
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   126
      {
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   127
          "isentry": true,
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   128
          "topic.stack.desc": "c_d",
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   129
          "topic.stack.index": 2,
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   130
          "topic.stack.state": [
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   131
              "clean"
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   132
          ],
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   133
          "topic.stack.state.symbol": ":"
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   134
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   135
      {
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   136
          "isentry": true,
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   137
          "topic.stack.desc": "c_c",
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   138
          "topic.stack.index": 1,
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   139
          "topic.stack.state": [
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   140
              "clean"
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   141
          ],
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   142
          "topic.stack.state.symbol": ":"
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   143
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   144
      {
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   145
          "isentry": false,
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   146
          "topic.stack.desc": "c_b",
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2684
diff changeset
   147
          "topic.stack.index": 0,
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   148
          "topic.stack.state": [
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   149
              "base"
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   150
          ],
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   151
          "topic.stack.state.symbol": "^"
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   152
      }
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   153
  ]
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   154
  $ hg stack -v -Tjson | python -m json.tool
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   155
  [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   156
      {
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   157
          "isentry": true,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   158
          "topic.stack.desc": "c_f",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   159
          "topic.stack.index": 4,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   160
          "topic.stack.shortnode": "6559e6d93aea",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   161
          "topic.stack.state": [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   162
              "current"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   163
          ],
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   164
          "topic.stack.state.symbol": "@"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   165
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   166
      {
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   167
          "isentry": true,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   168
          "topic.stack.desc": "c_e",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   169
          "topic.stack.index": 3,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   170
          "topic.stack.shortnode": "0f9ac936c87d",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   171
          "topic.stack.state": [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   172
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   173
          ],
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   174
          "topic.stack.state.symbol": ":"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   175
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   176
      {
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   177
          "isentry": true,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   178
          "topic.stack.desc": "c_d",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   179
          "topic.stack.index": 2,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   180
          "topic.stack.shortnode": "e629654d7050",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   181
          "topic.stack.state": [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   182
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   183
          ],
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   184
          "topic.stack.state.symbol": ":"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   185
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   186
      {
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   187
          "isentry": true,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   188
          "topic.stack.desc": "c_c",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   189
          "topic.stack.index": 1,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   190
          "topic.stack.shortnode": "8522f9e3fee9",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   191
          "topic.stack.state": [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   192
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   193
          ],
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   194
          "topic.stack.state.symbol": ":"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   195
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   196
      {
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   197
          "isentry": false,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   198
          "topic.stack.desc": "c_b",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   199
          "topic.stack.index": 0,
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   200
          "topic.stack.shortnode": "ea705abc4f51",
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   201
          "topic.stack.state": [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   202
              "base"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   203
          ],
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   204
          "topic.stack.state.symbol": "^"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   205
      }
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   206
  ]
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   207
2805
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   208
check that topics and stack are available even if ui.strict=true
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   209
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   210
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
   211
   * foo (4 changesets)
2805
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   212
  $ hg stack
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   213
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   214
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   215
  s4@ c_f (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   216
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   217
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   218
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   219
  s0^ c_b (base)
2805
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   220
  $ hg topics --config ui.strict=true
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
   221
   * foo (4 changesets)
2805
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   222
  $ hg stack --config ui.strict=true
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   223
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   224
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   225
  s4@ c_f (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   226
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   227
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   228
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   229
  s0^ c_b (base)
2805
a789b9d5b60c topic: make command names valid as expected, even if ui.strict=true
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2750
diff changeset
   230
4285
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   231
merge case (displaying info about external)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   232
-------------------------------------------
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   233
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   234
  $ hg up default
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   235
  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   236
  $ hg topics zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   237
  marked working directory as topic: zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   238
  $ echo zzz > zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   239
  $ hg add zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   240
  $ hg commit -m zzz_a
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   241
  active topic 'zzz' grew its first changeset
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   242
  (see 'hg help topics' for more information)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   243
  $ hg merge foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   244
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   245
  (branch merge, don't forget to commit)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   246
  $ hg commit -m "merged foo"
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   247
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   248
stack -m display data about child
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   249
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   250
  $ hg stack foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   251
  ### topic: foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   252
  ### target: default (branch)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   253
  s4: c_f
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   254
  s3: c_e
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   255
  s2: c_d
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   256
  s1: c_c
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   257
  s0^ c_b (base)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   258
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   259
  $ hg stack foo --children
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   260
  ### topic: foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   261
  ### target: default (branch)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   262
  s4: c_f (external-children)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   263
  s3: c_e
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   264
  s2: c_d
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   265
  s1: c_c
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   266
  s0^ c_b (base)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   267
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   268
error case, nothing to list
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   269
4285
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   270
  $ hg strip --config extensions.strip= t1 --no-backup
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   271
  0 files updated, 0 files merged, 5 files removed, 0 files unresolved
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   272
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   273
  $ hg up foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   274
  switching to topic foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   275
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   276
1895
c8e4c6e03957 stack: add a very first version of stack display with 'hg topic --list'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   277
  $ hg topic --clear
1973
e97458bf53be stack: introduce and explicite command to display the stack
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1961
diff changeset
   278
  $ hg stack
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   279
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
   280
  (stack is empty)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   281
  s0^ c_f (base current)
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   282
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   283
Test "t#" reference
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   284
-------------------
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   285
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   286
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   287
  $ hg up s2
4066
1aa5f851d2c0 stack: clarify s# error message in case of branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   288
  abort: cannot resolve "s2": branch "default" has only 0 non-public changesets
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   289
  [255]
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   290
  $ hg topic foo
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2939
diff changeset
   291
  marked working directory as topic: foo
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   292
  $ hg up t42
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   293
  abort: cannot resolve "t42": topic "foo" has only 4 changesets
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   294
  [255]
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   295
  $ hg up s42
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   296
  abort: cannot resolve "s42": topic "foo" has only 4 changesets
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   297
  [255]
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   298
  $ hg up s2
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   299
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1958
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   300
  $ hg summary
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   301
  parent: 3:e629654d7050 
1958
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   302
   c_d
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   303
  branch: default
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   304
  commit: (clean)
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   305
  update: (current)
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   306
  phases: 4 draft
1958
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   307
  topic:  foo
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   308
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   309
Case with some of the topic unstable
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   310
------------------------------------
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   311
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   312
  $ echo bbb > ddd
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   313
  $ hg commit --amend
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   314
  2 new orphan changesets
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   315
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   316
  @  6 default {foo} draft c_d
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   317
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   318
  | *  5 default {foo} draft c_f
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   319
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   320
  | *  4 default {foo} draft c_e
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   321
  | |
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   322
  | x  3 default {foo} draft c_d
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   323
  |/
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   324
  o  2 default {foo} draft c_c
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   325
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   326
  o  1 default {} public c_b
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   327
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   328
  o  0 default {} public c_a
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   329
  
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   330
  $ hg topic --list
1995
54d6dff699f0 stack: add some header with the topic name
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1991
diff changeset
   331
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   332
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   333
  s4$ c_f (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   334
  s3$ c_e (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   335
  s2@ c_d (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   336
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   337
  s0^ c_b (base)
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   338
  $ hg up s3
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   339
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   340
  $ hg topic --list
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   341
  ### topic: foo
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   342
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   343
  s4$ c_f (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   344
  s3$ c_e (current unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   345
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   346
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   347
  s0^ c_b (base)
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   348
  $ hg topic --list --color=debug
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   349
  [topic.stack.summary.topic|### topic: [topic.active|foo]]
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   350
  [topic.stack.summary.branches|### target: default (branch)]
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   351
  [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)]
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   352
  [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)]
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   353
  [topic.stack.index topic.stack.index.clean|s2][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_d]
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   354
  [topic.stack.index topic.stack.index.clean|s1][topic.stack.state topic.stack.state.clean|:] [topic.stack.desc topic.stack.desc.clean|c_c]
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   355
  [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)]
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   356
  $ hg up s2
2348
5737e0680f10 ui: hg topic now display if current revision is in bad state (issue5533)
Boris Feld <boris.feld@octobus.net>
parents: 2341
diff changeset
   357
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   358
1910
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   359
Also test the revset:
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   360
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   361
  $ hg log -r 'stack()'
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   362
  2 default {foo} draft c_c
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   363
  6 default {foo} draft c_d
1910
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   364
  4 default {foo} draft c_e
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   365
  5 default {foo} draft c_f
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   366
2681
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   367
  $ hg log -r 'stack(foo)'
4290
09337aae08d4 topic: make revset argument messages be similar to such messages in core
Anton Shestakov <av6@dwimlabs.net>
parents: 4067
diff changeset
   368
  hg: parse error: stack takes no arguments, it works on current topic
2681
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   369
  [255]
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   370
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   371
  $ hg log -r 'stack(foobar)'
4290
09337aae08d4 topic: make revset argument messages be similar to such messages in core
Anton Shestakov <av6@dwimlabs.net>
parents: 4067
diff changeset
   372
  hg: parse error: stack takes no arguments, it works on current topic
2681
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   373
  [255]
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   374
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   375
Case with multiple heads on the topic
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   376
-------------------------------------
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   377
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   378
Make things linear again
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   379
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   380
  $ hg rebase -s 'desc(c_e)' -d 'desc(c_d) - obsolete()'
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   381
  rebasing 4:0f9ac936c87d "c_e" (foo)
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   382
  rebasing 5:6559e6d93aea "c_f" (foo)
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   383
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   384
  o  8 default {foo} draft c_f
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   385
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   386
  o  7 default {foo} draft c_e
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   387
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   388
  @  6 default {foo} draft c_d
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   389
  |
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   390
  o  2 default {foo} draft c_c
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   391
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   392
  o  1 default {} public c_b
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   393
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   394
  o  0 default {} public c_a
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   395
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   396
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   397
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   398
Create the second branch
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   399
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   400
  $ hg up 'desc(c_d)'
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   401
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   402
  $ echo aaa > ggg
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   403
  $ hg add ggg
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   404
  $ hg commit -m c_g
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   405
  $ echo aaa > hhh
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   406
  $ hg add hhh
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   407
  $ hg commit -m c_h
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   408
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   409
  @  10 default {foo} draft c_h
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   410
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   411
  o  9 default {foo} draft c_g
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   412
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   413
  | o  8 default {foo} draft c_f
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   414
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   415
  | o  7 default {foo} draft c_e
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   416
  |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   417
  o  6 default {foo} draft c_d
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   418
  |
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   419
  o  2 default {foo} draft c_c
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   420
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   421
  o  1 default {} public c_b
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   422
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   423
  o  0 default {} public c_a
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   424
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   425
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   426
Test output
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   427
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   428
  $ hg top -l
1998
302be26a3fd8 stack: add warning about multiple heads
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1996
diff changeset
   429
  ### topic: foo (2 heads)
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   430
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   431
  s6@ c_h (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   432
  s5: c_g
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   433
  s2^ c_d (base)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   434
  s4: c_f
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   435
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   436
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   437
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   438
  s0^ c_b (base)
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   439
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   440
Case with multiple heads on the topic with unstability involved
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   441
---------------------------------------------------------------
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   442
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   443
We amend the message to make sure the display base pick the right changeset
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   444
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   445
  $ hg up 'desc(c_d)'
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   446
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   447
  $ echo ccc > ddd
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   448
  $ hg commit --amend -m 'c_D' 
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   449
  4 new orphan changesets
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   450
  $ hg rebase -d . -s 'desc(c_g)'
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   451
  rebasing 9:81264ae8a36a "c_g" (foo)
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   452
  rebasing 10:fde5f5941642 "c_h" (foo)
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   453
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   454
  o  13 default {foo} draft c_h
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   455
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   456
  o  12 default {foo} draft c_g
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   457
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   458
  @  11 default {foo} draft c_D
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   459
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   460
  | *  8 default {foo} draft c_f
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   461
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   462
  | *  7 default {foo} draft c_e
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   463
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   464
  | x  6 default {foo} draft c_d
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   465
  |/
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   466
  o  2 default {foo} draft c_c
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   467
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   468
  o  1 default {} public c_b
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   469
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   470
  o  0 default {} public c_a
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   471
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   472
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   473
  $ hg topic --list
1998
302be26a3fd8 stack: add warning about multiple heads
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1996
diff changeset
   474
  ### topic: foo (2 heads)
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   475
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   476
  s6: c_h
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   477
  s5: c_g
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   478
  s2^ c_D (base current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   479
  s4$ c_f (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   480
  s3$ c_e (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   481
  s2@ c_D (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   482
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   483
  s0^ c_b (base)
2627
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   484
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   485
Trying to list non existing topic
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   486
  $ hg stack thisdoesnotexist
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   487
  abort: cannot resolve "thisdoesnotexist": no such topic found
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   488
  [255]
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   489
  $ hg topic --list thisdoesnotexist
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   490
  abort: cannot resolve "thisdoesnotexist": no such topic found
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   491
  [255]
2684
90e11985d0cc topic: exclude public and topic changeset from branch stack
Boris Feld <boris.feld@octobus.net>
parents: 2681
diff changeset
   492
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   493
Complex cases where commits with same topic are not consecutive but are linear
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   494
==============================================================================
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   495
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   496
  $ hg log --graph
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   497
  o  13 default {foo} draft c_h
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   498
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   499
  o  12 default {foo} draft c_g
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   500
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   501
  @  11 default {foo} draft c_D
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   502
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   503
  | *  8 default {foo} draft c_f
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   504
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   505
  | *  7 default {foo} draft c_e
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   506
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   507
  | x  6 default {foo} draft c_d
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   508
  |/
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   509
  o  2 default {foo} draft c_c
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   510
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   511
  o  1 default {} public c_b
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   512
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   513
  o  0 default {} public c_a
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   514
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   515
Converting into a linear chain
2927
01cf426bd458 tests: abstract version number for test-topic-stack.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2919
diff changeset
   516
  $ hg rebase -s 'desc("c_e") - obsolete()' -d 'desc("c_h") - obsolete()'
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   517
  rebasing 7:215bc359096a "c_e" (foo)
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   518
  rebasing 8:ec9267b3f33f "c_f" (foo)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   519
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   520
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   521
  o  15 default {foo} draft c_f
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   522
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   523
  o  14 default {foo} draft c_e
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   524
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   525
  o  13 default {foo} draft c_h
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   526
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   527
  o  12 default {foo} draft c_g
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   528
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   529
  @  11 default {foo} draft c_D
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   530
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   531
  o  2 default {foo} draft c_c
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   532
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   533
  o  1 default {} public c_b
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   534
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   535
  o  0 default {} public c_a
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   536
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   537
Changing topics on some commits in between
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   538
  $ hg topic foobar -r 'desc(c_e) + desc(c_D)'
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   539
  switching to topic foobar
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   540
  4 new orphan changesets
4268
d5a2cc19903f topics: improve the message around topic changing
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 4067
diff changeset
   541
  changed topic on 2 changesets to "foobar"
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   542
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   543
  @  17 default {foobar} draft c_D
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   544
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   545
  | *  16 default {foobar} draft c_e
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   546
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   547
  | | *  15 default {foo} draft c_f
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   548
  | | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   549
  | | x  14 default {foo} draft c_e
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   550
  | |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   551
  | *  13 default {foo} draft c_h
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   552
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   553
  | *  12 default {foo} draft c_g
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   554
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   555
  | x  11 default {foo} draft c_D
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   556
  |/
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   557
  o  2 default {foo} draft c_c
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   558
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   559
  o  1 default {} public c_b
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   560
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   561
  o  0 default {} public c_a
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   562
  
2927
01cf426bd458 tests: abstract version number for test-topic-stack.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2919
diff changeset
   563
  $ hg rebase -s 'desc("c_f") - obsolete()' -d 'desc("c_e") - obsolete()'
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   564
  rebasing 15:77082e55de88 "c_f" (foo)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   565
  switching to topic foo
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   566
  1 new orphan changesets
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   567
  switching to topic foobar
2927
01cf426bd458 tests: abstract version number for test-topic-stack.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2919
diff changeset
   568
  $ hg rebase -s 'desc("c_g") - obsolete()' -d 'desc("c_D") - obsolete()'
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   569
  rebasing 12:0c3e8aed985d "c_g" (foo)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   570
  switching to topic foo
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   571
  rebasing 13:b9e4f3709bc5 "c_h" (foo)
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   572
  rebasing 16:4bc813530301 "c_e" (foobar)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   573
  switching to topic foobar
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   574
  rebasing 18:4406ea4be852 "c_f" (tip foo)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   575
  switching to topic foo
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   576
  switching to topic foobar
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   577
  $ hg up
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   578
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   579
  $ hg log --graph
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   580
  o  22 default {foo} draft c_f
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   581
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   582
  @  21 default {foobar} draft c_e
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   583
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   584
  o  20 default {foo} draft c_h
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   585
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   586
  o  19 default {foo} draft c_g
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   587
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   588
  o  17 default {foobar} draft c_D
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   589
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   590
  o  2 default {foo} draft c_c
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   591
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   592
  o  1 default {} public c_b
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   593
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   594
  o  0 default {} public c_a
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   595
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   596
XXX: The following should show single heads
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   597
XXX: The behind count is weird, because the topic are interleaved.
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   598
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   599
  $ hg stack
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   600
  ### topic: foobar
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   601
  ### target: default (branch), 3 behind
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   602
  s2@ c_e (current)
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   603
    ^ c_h
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   604
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   605
  s0^ c_c (base)
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   606
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   607
  $ hg stack foo
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   608
  ### topic: foo
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   609
  ### target: default (branch), ambiguous rebase destination - topic 'foo' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   610
  s4: c_f
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   611
    ^ c_e
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   612
  s3: c_h
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   613
  s2: c_g
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   614
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   615
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   616
  s0^ c_b (base)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   617
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   618
case involving a merge
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   619
----------------------
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   620
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   621
  $ cd ..
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   622
  $ hg init stack-gap-merge
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   623
  $ cd stack-gap-merge
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   624
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   625
  $ echo aaa > aaa
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   626
  $ hg commit -Am 'c_A'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   627
  adding aaa
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   628
  $ hg topic red
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2939
diff changeset
   629
  marked working directory as topic: red
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   630
  $ echo bbb > bbb
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   631
  $ hg commit -Am 'c_B'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   632
  adding bbb
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   633
  active topic 'red' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3567
diff changeset
   634
  (see 'hg help topics' for more information)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   635
  $ echo ccc > ccc
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   636
  $ hg commit -Am 'c_C'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   637
  adding ccc
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   638
  $ hg topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   639
  $ echo ddd > ddd
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   640
  $ hg commit -Am 'c_D'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   641
  adding ddd
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   642
  active topic 'blue' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3567
diff changeset
   643
  (see 'hg help topics' for more information)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   644
  $ hg up 'desc("c_B")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   645
  switching to topic red
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   646
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   647
  $ echo eee > eee
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   648
  $ hg commit -Am 'c_E'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   649
  adding eee
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   650
  $ echo fff > fff
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   651
  $ hg commit -Am 'c_F'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   652
  adding fff
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   653
  $ hg topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   654
  $ echo ggg > ggg
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   655
  $ hg commit -Am 'c_G'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   656
  adding ggg
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   657
  $ hg up 'desc("c_D")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   658
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   659
  $ hg topic red
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   660
  $ hg merge 'desc("c_G")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   661
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   662
  (branch merge, don't forget to commit)
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   663
  $ hg commit -Am 'c_H'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   664
  $ hg topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   665
  $ echo iii > iii
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   666
  $ hg ci -Am 'c_I'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   667
  adding iii
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   668
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   669
  $ hg log -G
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   670
  @  8 default {blue} draft c_I
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   671
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   672
  o    7 default {red} draft c_H
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   673
  |\
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   674
  | o  6 default {blue} draft c_G
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   675
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   676
  | o  5 default {red} draft c_F
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   677
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   678
  | o  4 default {red} draft c_E
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   679
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   680
  o |  3 default {blue} draft c_D
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   681
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   682
  o |  2 default {red} draft c_C
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   683
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   684
  o  1 default {red} draft c_B
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   685
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   686
  o  0 default {} draft c_A
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   687
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   688
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   689
  $ hg stack red
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   690
  ### topic: red
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2988
diff changeset
   691
  ### target: default (branch), 6 behind
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   692
  s5: c_H
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   693
    ^ c_G
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   694
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   695
  s4: c_C
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   696
  s1^ c_B (base)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   697
  s3: c_F
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   698
  s2: c_E
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   699
  s1: c_B
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   700
  s0^ c_A (base)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   701
  $ hg stack blue
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   702
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   703
  ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   704
  s3@ c_I (current)
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   705
    ^ c_H
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   706
  s2: c_D
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   707
    ^ c_C
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   708
  s1: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   709
  s0^ c_F (base)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   710
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   711
Even with some obsolete and orphan changesets
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   712
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   713
(the ordering of each branch of "blue" change because their hash change. we
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   714
should stabilize this eventuelly)
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   715
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   716
  $ hg up 'desc("c_B")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   717
  switching to topic red
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   718
  0 files updated, 0 files merged, 6 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   719
  $ hg commit --amend --user test2
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   720
  7 new orphan changesets
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   721
  $ hg up 'desc("c_C")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   722
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   723
  $ hg commit --amend --user test2
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   724
  $ hg up 'desc("c_D")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   725
  switching to topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   726
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   727
  $ hg commit --amend --user test2
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   728
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   729
  $ hg log -G --rev 'sort(all(), "topo")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   730
  @  11 default {blue} draft c_D
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   731
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   732
  | *  8 default {blue} draft c_I
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   733
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   734
  | *    7 default {red} draft c_H
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   735
  | |\
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   736
  | | *  6 default {blue} draft c_G
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   737
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   738
  | | *  5 default {red} draft c_F
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   739
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   740
  | | *  4 default {red} draft c_E
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   741
  | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   742
  | x |  3 default {blue} draft c_D
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   743
  |/ /
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   744
  x /  2 default {red} draft c_C
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   745
  |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   746
  | *  10 default {red} draft c_C
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   747
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   748
  x  1 default {red} draft c_B
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   749
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   750
  | o  9 default {red} draft c_B
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   751
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   752
  o  0 default {} draft c_A
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   753
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   754
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   755
  $ hg stack red
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   756
  ### topic: red
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   757
  ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   758
  s5$ c_H (unstable)
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   759
    ^ c_G
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   760
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   761
  s4$ c_C (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   762
  s1^ c_B (base)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   763
  s3$ c_F (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   764
  s2$ c_E (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   765
  s1: c_B
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   766
  s0^ c_A (base)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   767
  $ hg stack blue
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   768
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   769
  ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   770
  s3$ c_I (unstable)
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   771
    ^ c_H
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   772
  s2$ c_G (unstable)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   773
    ^ c_F
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   774
  s1$ c_D (current unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   775
  s0^ c_C (base unstable)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   776
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   777
more obsolescence
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   778
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   779
  $ hg up 'max(desc("c_H"))'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   780
  switching to topic red
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   781
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   782
  $ hg commit --amend --user test3
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   783
  $ hg up 'max(desc("c_G"))'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   784
  switching to topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   785
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   786
  $ hg commit --amend --user test3
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   787
  $ hg up 'max(desc("c_B"))'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   788
  switching to topic red
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   789
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   790
  $ hg commit --amend --user test3
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   791
  $ hg up 'max(desc("c_C"))'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   792
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   793
  $ hg commit --amend --user test3
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   794
  $ hg up 'max(desc("c_D"))'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   795
  switching to topic blue
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   796
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   797
  $ hg commit --amend --user test3
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   798
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   799
  $ hg log -G --rev 'sort(all(), "topo")'
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   800
  @  16 default {blue} draft c_D
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   801
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   802
  | *  13 default {blue} draft c_G
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   803
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   804
  | | *    12 default {red} draft c_H
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   805
  | | |\
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   806
  | | | | *  8 default {blue} draft c_I
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   807
  | | | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   808
  | | +---x  7 default {red} draft c_H
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   809
  | | | |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   810
  | +---x  6 default {blue} draft c_G
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   811
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   812
  | * |  5 default {red} draft c_F
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   813
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   814
  | * |  4 default {red} draft c_E
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   815
  | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   816
  +---x  3 default {blue} draft c_D
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   817
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   818
  x |  2 default {red} draft c_C
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   819
  |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   820
  | *  15 default {red} draft c_C
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   821
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   822
  x  1 default {red} draft c_B
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   823
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   824
  | o  14 default {red} draft c_B
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   825
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   826
  o  0 default {} draft c_A
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   827
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   828
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   829
  $ hg stack red
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   830
  ### topic: red
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   831
  ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   832
  s5$ c_H (unstable)
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   833
    ^ c_G
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   834
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   835
  s4$ c_F (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   836
  s3$ c_E (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   837
  s1^ c_B (base)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   838
  s2$ c_C (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   839
  s1: c_B
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   840
  s0^ c_A (base)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   841
  $ hg stack blue
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   842
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   843
  ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   844
  s3$ c_I (unstable)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   845
    ^ c_H
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   846
  s2$ c_G (unstable)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   847
    ^ c_F
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   848
  s1$ c_D (current unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   849
  s0^ c_C (base unstable)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   850
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   851
Test stack behavior with a split
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   852
--------------------------------
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   853
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   854
get things linear again
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   855
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   856
  $ hg rebase -r s1 -d default
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   857
  rebasing 16:1d84ec948370 "c_D" (tip blue)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   858
  switching to topic blue
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   859
  $ hg rebase -r s2 -d s1
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   860
  rebasing 13:3ab2eedae500 "c_G" (blue)
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   861
  $ hg rebase -r s3 -d s2
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   862
  rebasing 8:3bfe800e0486 "c_I" (blue)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   863
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   864
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   865
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   866
  s3: c_I
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   867
  s2: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   868
  s1@ c_D (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   869
  s0^ c_A (base)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   870
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   871
making a split
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   872
(first get something to split)
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   873
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   874
  $ hg up s2
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   875
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   876
  $ hg status --change .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   877
  A ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   878
  $ echo zzz > Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   879
  $ hg add Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   880
  $ hg commit --amend
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   881
  1 new orphan changesets
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   882
  $ hg status --change .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   883
  A Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   884
  A ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   885
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   886
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   887
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   888
  s3$ c_I (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   889
  s2@ c_G (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   890
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   891
  s0^ c_A (base)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   892
  $ hg --config extensions.evolve=  --config ui.interactive=yes split << EOF
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   893
  > y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   894
  > y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   895
  > n
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   896
  > c
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   897
  > EOF
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   898
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   899
  adding Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   900
  adding ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   901
  diff --git a/Z b/Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   902
  new file mode 100644
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   903
  examine changes to 'Z'? [Ynesfdaq?] y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   904
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   905
  @@ -0,0 +1,1 @@
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   906
  +zzz
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   907
  record change 1/2 to 'Z'? [Ynesfdaq?] y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   908
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   909
  diff --git a/ggg b/ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   910
  new file mode 100644
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   911
  examine changes to 'ggg'? [Ynesfdaq?] n
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   912
  
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   913
  continue splitting? [Ycdq?] c
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   914
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   915
  $ hg --config extensions.evolve= obslog --all
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   916
  o  dde94df880e9 (21) c_G
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   917
  |
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   918
  | @  e7ea874afbd5 (22) c_G
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   919
  |/
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   920
  x  b24bab30ac12 (20) c_G
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3519
diff changeset
   921
  |    rewritten(parent, content) as dde94df880e9, e7ea874afbd5 using split by test (Thu Jan 01 00:00:00 1970 +0000)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   922
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   923
  x  907f7d3c2333 (18) c_G
3519
2823c82ad8a4 obslog: add the operation to the Obslog output
Boris Feld <boris.feld@octobus.net>
parents: 3431
diff changeset
   924
  |    rewritten(content) as b24bab30ac12 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   925
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   926
  x  3ab2eedae500 (13) c_G
3519
2823c82ad8a4 obslog: add the operation to the Obslog output
Boris Feld <boris.feld@octobus.net>
parents: 3431
diff changeset
   927
  |    rewritten(parent) as 907f7d3c2333 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   928
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   929
  x  c7d60a180d05 (6) c_G
3519
2823c82ad8a4 obslog: add the operation to the Obslog output
Boris Feld <boris.feld@octobus.net>
parents: 3431
diff changeset
   930
       rewritten(user) as 3ab2eedae500 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   931
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   932
  $ hg export .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   933
  # HG changeset patch
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   934
  # User test3
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   935
  # Date 0 0
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   936
  #      Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   937
  # Node ID e7ea874afbd5c17aeee366d39a828dbcb01682ce
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   938
  # Parent  dde94df880e97f4a1ee8c5408254b429b3d90204
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   939
  # EXP-Topic blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   940
  c_G
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   941
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   942
  diff -r dde94df880e9 -r e7ea874afbd5 ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   943
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   944
  +++ b/ggg	Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   945
  @@ -0,0 +1,1 @@
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   946
  +ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   947
  $ hg export .^
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   948
  # HG changeset patch
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   949
  # User test3
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   950
  # Date 0 0
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   951
  #      Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   952
  # Node ID dde94df880e97f4a1ee8c5408254b429b3d90204
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   953
  # Parent  f3328cd199dc389b850ca952f65a15a8e6dbc79b
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   954
  # EXP-Topic blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   955
  c_G
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   956
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   957
  diff -r f3328cd199dc -r dde94df880e9 Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   958
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   959
  +++ b/Z	Thu Jan 01 00:00:00 1970 +0000
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   960
  @@ -0,0 +1,1 @@
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   961
  +zzz
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   962
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   963
Check that stack ouput still make sense
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   964
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   965
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   966
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   967
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   968
  s4$ c_I (unstable)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   969
  s3@ c_G (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   970
  s2: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   971
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   972
  s0^ c_A (base)