tests/test-topic-stack.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 27 Sep 2019 13:03:20 +0200
branchmercurial-4.6
changeset 4867 769b907e644e
parent 4865 31c481934138
child 4868 f76141f3ce80
child 5161 58b225aa4298
permissions -rw-r--r--
test-compat: merge mercurial-4.7 into mercurial-4.6
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
3770
eb928f5728c4 topic: suggest to clear a topic that becomes empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3769
diff changeset
    67
  (use 'hg topic --clear' to clear it if needed)
2911
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    68
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    69
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
    70
8874e65343a4 tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2805
diff changeset
    71
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    72
     foo   (4 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    73
   * 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
    74
  $ 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
    75
  ### 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
    76
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
    77
  (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
    78
  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
    79
1961
d9c7fced94fc stack: prevent crash when topic is rooted on nullid
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1960
diff changeset
    80
  $ 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
    81
  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
    82
  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
    83
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
    84
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
    85
-----------
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
    86
1973
e97458bf53be stack: introduce and explicite command to display the stack
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1961
diff changeset
    87
'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
    88
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
    89
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
    90
   * 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
    91
  $ 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
    92
  ### 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
    93
  ### 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
    94
  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
    95
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    96
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    97
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
    98
  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
    99
  $ hg stack -v
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   100
  ### 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
   101
  ### 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
   102
  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
   103
  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
   104
  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
   105
  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
   106
  s0(ea705abc4f51)^ c_b (base)
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   107
  $ hg stack -Tjson | python -m json.tool
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
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   110
          "desc": "c_f",
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   111
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   112
          "node": "6559e6d93aeadba940874f54f106c61931b5b8cf",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   113
          "stack_index": 4,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   114
          "state": [
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
   115
              "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
   116
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   117
          "symbol": "@"
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   118
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   119
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   120
          "desc": "c_e",
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   121
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   122
          "node": "0f9ac936c87d1d991011862aff4e86d0c3300a89",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   123
          "stack_index": 3,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   124
          "state": [
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
   125
              "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
   126
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   127
          "symbol": ":"
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   128
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   129
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   130
          "desc": "c_d",
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   131
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   132
          "node": "e629654d70505107cca3d12782d9c5a50d8fb9c8",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   133
          "stack_index": 2,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   134
          "state": [
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
   135
              "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
   136
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   137
          "symbol": ":"
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   138
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   139
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   140
          "desc": "c_c",
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   141
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   142
          "node": "8522f9e3fee92d4ec4e688ac3fbd2ee0f8fd5036",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   143
          "stack_index": 1,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   144
          "state": [
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
   145
              "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
   146
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   147
          "symbol": ":"
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   148
      },
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   149
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   150
          "desc": "c_b",
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   151
          "isentry": false,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   152
          "node": "ea705abc4f51e26d356ed94b3443e8c19b76cedf",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   153
          "stack_index": 0,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   154
          "state": [
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
   155
              "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
   156
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   157
          "symbol": "^"
2341
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   158
      }
a5117a5becf8 ui: Fix hg stack json output
Boris Feld <boris.feld@octobus.net>
parents: 2045
diff changeset
   159
  ]
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   160
  $ 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
   161
  [
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   162
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   163
          "desc": "c_f",
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   164
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   165
          "node": "6559e6d93aeadba940874f54f106c61931b5b8cf",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   166
          "stack_index": 4,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   167
          "state": [
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   168
              "current"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   169
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   170
          "symbol": "@"
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   171
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   172
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   173
          "desc": "c_e",
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   174
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   175
          "node": "0f9ac936c87d1d991011862aff4e86d0c3300a89",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   176
          "stack_index": 3,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   177
          "state": [
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   178
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   179
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   180
          "symbol": ":"
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   181
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   182
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   183
          "desc": "c_d",
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   184
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   185
          "node": "e629654d70505107cca3d12782d9c5a50d8fb9c8",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   186
          "stack_index": 2,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   187
          "state": [
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   188
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   189
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   190
          "symbol": ":"
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   191
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   192
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   193
          "desc": "c_c",
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   194
          "isentry": true,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   195
          "node": "8522f9e3fee92d4ec4e688ac3fbd2ee0f8fd5036",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   196
          "stack_index": 1,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   197
          "state": [
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   198
              "clean"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   199
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   200
          "symbol": ":"
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   201
      },
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   202
      {
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   203
          "desc": "c_b",
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   204
          "isentry": false,
4656
dbf676c86244 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4655
diff changeset
   205
          "node": "ea705abc4f51e26d356ed94b3443e8c19b76cedf",
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   206
          "stack_index": 0,
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   207
          "state": [
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   208
              "base"
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   209
          ],
4655
bb0a5beb0ad8 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4654
diff changeset
   210
          "symbol": "^"
2750
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   211
      }
bd3824d1b795 stack: show short node of changesets in `hg stack -v`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   212
  ]
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
   213
4654
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   214
  $ hg stack -T '{rev}: [{branch}] [{topic}] {desc}\n'
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   215
  5: [default] [foo] c_f
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   216
  4: [default] [foo] c_e
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   217
  3: [default] [foo] c_d
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   218
  2: [default] [foo] c_c
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   219
  1: [default] [] c_b
0d05dcb8dd37 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   220
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
   221
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
   222
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
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3018
diff changeset
   224
   * 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
   225
  $ 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
   226
  ### 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
   227
  ### 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
   228
  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
   229
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   230
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   231
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   232
  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
   233
  $ 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
   234
   * 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
   235
  $ 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
   236
  ### 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
   237
  ### 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
   238
  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
   239
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   240
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   241
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   242
  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
   243
4285
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   244
merge case (displaying info about external)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   245
-------------------------------------------
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   246
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   247
  $ hg up default
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   248
  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
   249
  $ hg topics zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   250
  marked working directory as topic: zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   251
  $ echo zzz > zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   252
  $ hg add zzz
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   253
  $ hg commit -m zzz_a
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   254
  active topic 'zzz' grew its first changeset
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   255
  (see 'hg help topics' for more information)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   256
  $ hg merge foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   257
  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
   258
  (branch merge, don't forget to commit)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   259
  $ hg commit -m "merged foo"
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   260
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   261
stack -m display data about child
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   262
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   263
  $ hg stack foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   264
  ### topic: foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   265
  ### target: default (branch)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   266
  s4: c_f
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   267
  s3: c_e
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   268
  s2: c_d
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   269
  s1: c_c
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   270
  s0^ c_b (base)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   271
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   272
  $ hg stack foo --children
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   273
  ### topic: foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   274
  ### target: default (branch)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   275
  s4: c_f (external-children)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   276
  s3: c_e
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   277
  s2: c_d
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   278
  s1: c_c
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   279
  s0^ c_b (base)
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   280
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
   281
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
   282
4285
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   283
  $ 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
   284
  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
   285
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   286
  $ hg up foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   287
  switching to topic foo
69fb9e41ce2b stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com>
parents: 4268
diff changeset
   288
  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
   289
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
   290
  $ 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
   291
  $ 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
   292
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
   293
  (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
   294
  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
   295
1904
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   296
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
   297
-------------------
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   298
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   299
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   300
  $ 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
   301
  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
   302
  [255]
f52c02bf47b7 stack: allow to refer to changeset using "t2" form
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1898
diff changeset
   303
  $ 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
   304
  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
   305
  $ 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
   306
  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
   307
  [255]
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   308
  $ hg up s42
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   309
  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
   310
  [255]
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   311
  $ 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
   312
  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
   313
  $ 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
   314
  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
   315
   c_d
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   316
  branch: default
62d5d4206840 stack: also change the indexing of the t# reference
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1957
diff changeset
   317
  commit: (clean)
4704
5f90eb8fd63c evolve: fix confusion in branch heads checking logic when topic in play
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4658
diff changeset
   318
  update: 2 new changesets (update)
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   319
  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
   320
  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
   321
1896
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   322
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
   323
------------------------------------
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   324
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   325
  $ echo bbb > ddd
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   326
  $ hg commit --amend
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   327
  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
   328
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   329
  @  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
   330
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   331
  | *  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
   332
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   333
  | *  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
   334
  | |
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   335
  | 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
   336
  |/
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   337
  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
   338
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   339
  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
   340
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   341
  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
   342
  
4ae421cbb07c stack: exclude obsolete changeset from the set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
   343
  $ 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
   344
  ### 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
   345
  ### target: default (branch)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   346
  s4$ c_f (orphan)
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   347
  s3$ c_e (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   348
  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
   349
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   350
  s0^ c_b (base)
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   351
  $ 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
   352
  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
   353
  $ 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
   354
  ### 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
   355
  ### target: default (branch)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   356
  s4$ c_f (orphan)
4436
ef155f624670 stack: make @ (current) more important than $ (some sort of unstable)
Anton Shestakov <av6@dwimlabs.net>
parents: 4432
diff changeset
   357
  s3@ c_e (current orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   358
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   359
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   360
  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
   361
  $ hg topic --list --color=debug
4658
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   362
  [stack.summary.topic|### topic: [topic.active|foo]]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   363
  [stack.summary.branches|### target: default (branch)]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   364
  [stack.index stack.index.orphan|s4][stack.state stack.state.orphan|$] [stack.desc stack.desc.orphan|c_f][stack.state stack.state.orphan| (orphan)]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   365
  [stack.index stack.index.current stack.index.orphan|s3][stack.state stack.state.current stack.state.orphan|@] [stack.desc stack.desc.current stack.desc.orphan|c_e][stack.state stack.state.current stack.state.orphan| (current orphan)]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   366
  [stack.index stack.index.clean|s2][stack.state stack.state.clean|:] [stack.desc stack.desc.clean|c_d]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   367
  [stack.index stack.index.clean|s1][stack.state stack.state.clean|:] [stack.desc stack.desc.clean|c_c]
89c1b739fabe stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net>
parents: 4657
diff changeset
   368
  [stack.index stack.index.base|s0][stack.state stack.state.base|^] [stack.desc stack.desc.base|c_b][stack.state stack.state.base| (base)]
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   369
  $ 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
   370
  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
   371
1910
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   372
Also test the revset:
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   373
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   374
  $ hg log -r 'stack()'
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   375
  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
   376
  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
   377
  4 default {foo} draft c_e
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   378
  5 default {foo} draft c_f
24986e5a537c stack: add a 'stack()' revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1909
diff changeset
   379
2681
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   380
  $ 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
   381
  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
   382
  [255]
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   383
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   384
  $ 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
   385
  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
   386
  [255]
aa4db71a6224 topics: return a parse error if stack() revset is passed with argument
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2670
diff changeset
   387
1909
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   388
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
   389
-------------------------------------
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   390
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   391
Make things linear again
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   392
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   393
  $ 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
   394
  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
   395
  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
   396
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   397
  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
   398
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   399
  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
   400
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   401
  @  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
   402
  |
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   403
  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
   404
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   405
  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
   406
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   407
  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
   408
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   409
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   410
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   411
Create the second branch
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   412
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   413
  $ 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
   414
  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
   415
  $ echo aaa > ggg
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   416
  $ hg add ggg
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   417
  $ 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
   418
  $ echo aaa > hhh
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   419
  $ hg add hhh
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   420
  $ 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
   421
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   422
  @  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
   423
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   424
  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
   425
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   426
  | 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
   427
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   428
  | 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
   429
  |/
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   430
  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
   431
  |
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   432
  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
   433
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   434
  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
   435
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   436
  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
   437
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   438
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   439
Test output
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   440
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   441
  $ hg top -l
1998
302be26a3fd8 stack: add warning about multiple heads
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1996
diff changeset
   442
  ### 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
   443
  ### 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
   444
  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
   445
  s5: c_g
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   446
  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
   447
  s4: c_f
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   448
  s3: c_e
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   449
  s2: c_d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   450
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   451
  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
   452
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   453
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
   454
---------------------------------------------------------------
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   455
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   456
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
   457
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   458
  $ 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
   459
  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
   460
  $ echo ccc > ddd
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   461
  $ 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
   462
  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
   463
  $ 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
   464
  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
   465
  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
   466
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   467
  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
   468
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   469
  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
   470
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   471
  @  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
   472
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   473
  | *  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
   474
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   475
  | *  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
   476
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   477
  | 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
   478
  |/
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   479
  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
   480
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   481
  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
   482
  |
1960
a9a1abc7dd75 test: add topic on the first 2 changesets too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1959
diff changeset
   483
  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
   484
  
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   485
36112e361ee4 stack: display the base of the stack
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1906
diff changeset
   486
  $ hg topic --list
1998
302be26a3fd8 stack: add warning about multiple heads
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1996
diff changeset
   487
  ### 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
   488
  ### 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
   489
  s6: c_h
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   490
  s5: c_g
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   491
  s2^ c_D (base current)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   492
  s4$ c_f (orphan)
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   493
  s3$ c_e (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   494
  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
   495
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   496
  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
   497
42abd3bd30ee topics: abort if user wants to show the stack of a non-existent topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2626
diff changeset
   498
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
   499
  $ 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
   500
  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
   501
  [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
   502
  $ 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
   503
  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
   504
  [255]
2684
90e11985d0cc topic: exclude public and topic changeset from branch stack
Boris Feld <boris.feld@octobus.net>
parents: 2681
diff changeset
   505
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   506
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
   507
==============================================================================
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
  $ hg log --graph
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   510
  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
   511
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   512
  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
   513
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   514
  @  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
   515
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   516
  | *  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
   517
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   518
  | *  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
   519
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   520
  | 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
   521
  |/
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   522
  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
   523
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   524
  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
   525
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   526
  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
   527
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   528
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
   529
  $ 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
   530
  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
   531
  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
   532
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   533
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   534
  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
   535
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   536
  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
   537
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   538
  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
   539
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   540
  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
   541
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   542
  @  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
   543
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   544
  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
   545
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   546
  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
   547
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   548
  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
   549
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   550
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
   551
  $ 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
   552
  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
   553
  4 new orphan changesets
4268
d5a2cc19903f topics: improve the message around topic changing
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 4067
diff changeset
   554
  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
   555
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   556
  @  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
   557
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   558
  | *  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
   559
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   560
  | | *  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
   561
  | | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   562
  | | 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
   563
  | |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   564
  | *  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
   565
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   566
  | *  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
   567
  | |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   568
  | 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
   569
  |/
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   570
  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
   571
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   572
  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
   573
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   574
  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
   575
  
2927
01cf426bd458 tests: abstract version number for test-topic-stack.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2919
diff changeset
   576
  $ 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
   577
  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
   578
  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
   579
  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
   580
  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
   581
  $ 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
   582
  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
   583
  switching to topic foo
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   584
  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
   585
  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
   586
  switching to topic foobar
3016
d12c82fd1143 tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   587
  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
   588
  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
   589
  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
   590
  $ hg up
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   591
  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
   592
  $ hg log --graph
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   593
  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
   594
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   595
  @  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
   596
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   597
  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
   598
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   599
  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
   600
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   601
  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
   602
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   603
  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
   604
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   605
  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
   606
  |
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   607
  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
   608
  
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   609
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
   610
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
   611
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   612
  $ 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
   613
  ### 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
   614
  ### 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
   615
  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
   616
    ^ c_h
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   617
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   618
  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
   619
4657
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   620
  $ hg stack -v
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   621
  ### topic: foobar
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   622
  ### target: default (branch), 3 behind
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   623
  s2(ea0f882ce093)@ c_e (current)
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   624
                  ^ c_h
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   625
  s1(d2f548af67ab): c_D
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   626
  s0(8522f9e3fee9)^ c_c (base)
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   627
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   628
  $ hg stack --debug
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   629
  ### topic: foobar
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   630
  ### target: default (branch), 3 behind
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   631
  s2(ea0f882ce093a2ad63db49083c5cb98a24a9470e)@ c_e (current)
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   632
                                              ^ c_h
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   633
  s1(d2f548af67ab55b08452a3e00a539319490fcd5b): c_D
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   634
  s0(8522f9e3fee92d4ec4e688ac3fbd2ee0f8fd5036)^ c_c (base)
c24dabf8e848 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net>
parents: 4656
diff changeset
   635
2913
6b2ae9f2b9c4 tests: add tests for `hg stack` showing surprising behavior with gaps
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2911
diff changeset
   636
  $ 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
   637
  ### topic: foo
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   638
  ### 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
   639
  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
   640
    ^ c_e
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   641
  s3: c_h
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   642
  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
   643
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   644
  s1: c_c
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   645
  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
   646
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   647
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
   648
----------------------
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   649
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   650
  $ cd ..
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 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
   652
  $ 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
   653
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 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
   655
  $ 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
   656
  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
   657
  $ 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
   658
  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
   659
  $ 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
   660
  $ 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
   661
  adding bbb
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   662
  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
   663
  (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
   664
  $ 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
   665
  $ 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
   666
  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
   667
  $ 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
   668
  $ 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
   669
  $ 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
   670
  adding ddd
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   671
  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
   672
  (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
   673
  $ 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
   674
  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
   675
  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
   676
  $ 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
   677
  $ 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
   678
  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
   679
  $ 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
   680
  $ 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
   681
  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
   682
  $ 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
   683
  $ 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
   684
  $ 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
   685
  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
   686
  $ 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
   687
  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
   688
  $ 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
   689
  $ 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
   690
  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
   691
  (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
   692
  $ 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
   693
  $ 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
   694
  $ 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
   695
  $ 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
   696
  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
   697
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   698
  $ 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
   699
  @  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
   700
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   701
  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
   702
  |\
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   703
  | 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
   704
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   705
  | 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
   706
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   707
  | 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
   708
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   709
  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
   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
  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
   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
  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
   714
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   715
  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
   716
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   717
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   718
  $ 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
   719
  ### 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
   720
  ### 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
   721
  s5: c_H
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   722
    ^ c_G
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   723
    ^ c_D
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   724
  s4: c_C
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   725
  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
   726
  s3: c_F
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   727
  s2: c_E
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   728
  s1: c_B
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   729
  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
   730
  $ 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
   731
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   732
  ### 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
   733
  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
   734
    ^ c_H
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   735
  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
   736
    ^ c_C
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   737
  s1: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   738
  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
   739
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   740
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
   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
(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
   743
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
   744
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   745
  $ 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
   746
  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
   747
  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
   748
  $ 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
   749
  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
   750
  $ 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
   751
  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
   752
  $ 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
   753
  $ 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
   754
  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
   755
  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
   756
  $ 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
   757
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   758
  $ 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
   759
  @  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
   760
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   761
  | *  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
   762
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   763
  | *    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
   764
  | |\
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   765
  | | *  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
   766
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   767
  | | *  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
   768
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   769
  | | *  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
   770
  | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   771
  | 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
   772
  |/ /
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   773
  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
   774
  |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   775
  | *  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
   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
  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
   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
  | 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
   780
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   781
  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
   782
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   783
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   784
  $ 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
   785
  ### topic: red
4828
aaf8742e09a0 stack: demonstrate that not reusing cached property gives different results
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   786
  ### target: default (branch), 7 behind
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   787
  s5$ c_H (orphan)
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   788
    ^ 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
   789
    ^ c_D
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   790
  s4$ c_C (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   791
  s1^ c_B (base)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   792
  s3$ c_F (orphan)
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   793
  s2$ c_E (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   794
  s1: c_B
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   795
  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
   796
  $ 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
   797
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   798
  ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   799
  s3$ c_I (orphan)
2919
5b514ab2ab4e stack: properly order stack when gaps existing inside it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2918
diff changeset
   800
    ^ c_H
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   801
  s2$ c_G (orphan)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   802
    ^ c_F
4436
ef155f624670 stack: make @ (current) more important than $ (some sort of unstable)
Anton Shestakov <av6@dwimlabs.net>
parents: 4432
diff changeset
   803
  s1@ c_D (current orphan)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   804
  s0^ c_C (base orphan)
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
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   806
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
   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
  $ 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
   809
  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
   810
  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
   811
  $ 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
   812
  $ 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
   813
  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
   814
  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
   815
  $ 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
   816
  $ 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
   817
  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
   818
  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
   819
  $ 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
   820
  $ 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
   821
  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
   822
  $ 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
   823
  $ 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
   824
  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
   825
  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
   826
  $ 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
   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
  $ 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
   829
  @  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
   830
  |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   831
  | *  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
   832
  | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   833
  | | *    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
   834
  | | |\
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   835
  | | | | *  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
   836
  | | | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   837
  | | +---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
   838
  | | | |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   839
  | +---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
   840
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   841
  | * |  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
   842
  | | |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   843
  | * |  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
   844
  | | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   845
  +---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
   846
  | |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   847
  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
   848
  |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3412
diff changeset
   849
  | *  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
   850
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   851
  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
   852
  |
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   853
  | 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
   854
  |/
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   855
  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
   856
  
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   857
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   858
  $ 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
   859
  ### topic: red
4828
aaf8742e09a0 stack: demonstrate that not reusing cached property gives different results
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   860
  ### target: default (branch), 7 behind
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   861
  s5$ c_H (orphan)
2918
0437158e0ed6 stack: display both parent with displaying merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2917
diff changeset
   862
    ^ 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
   863
    ^ c_D
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   864
  s4$ c_F (orphan)
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   865
  s3$ c_E (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   866
  s1^ c_B (base)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   867
  s2$ c_C (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   868
  s1: c_B
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)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   870
  $ 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
   871
  ### topic: blue
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3180
diff changeset
   872
  ### target: default (branch), ambiguous rebase destination - topic 'blue' has 3 heads
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   873
  s3$ c_I (orphan)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   874
    ^ c_H
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   875
  s2$ c_G (orphan)
2917
044686b25cf7 tests: add tests for showing stack when merge is involved
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2913
diff changeset
   876
    ^ c_F
4436
ef155f624670 stack: make @ (current) more important than $ (some sort of unstable)
Anton Shestakov <av6@dwimlabs.net>
parents: 4432
diff changeset
   877
  s1@ c_D (current orphan)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   878
  s0^ c_C (base orphan)
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   879
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   880
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
   881
--------------------------------
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   882
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   883
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
   884
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   885
  $ hg rebase -r s1 -d default
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   886
  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
   887
  switching to topic blue
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   888
  $ hg rebase -r s2 -d s1
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   889
  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
   890
  $ hg rebase -r s3 -d s2
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   891
  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
   892
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   893
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   894
  ### 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
   895
  s3: c_I
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   896
  s2: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   897
  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
   898
  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
   899
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   900
making a split
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   901
(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
   902
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3770
diff changeset
   903
  $ 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
   904
  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
   905
  $ hg status --change .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   906
  A ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   907
  $ echo zzz > Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   908
  $ hg add Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   909
  $ hg commit --amend
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
   910
  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
   911
  $ hg status --change .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   912
  A Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   913
  A ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   914
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   915
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   916
  ### target: default (branch)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   917
  s3$ c_I (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   918
  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
   919
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   920
  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
   921
  $ 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
   922
  > y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   923
  > y
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   924
  > n
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   925
  > c
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   926
  > EOF
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   927
  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
   928
  adding Z
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   929
  adding ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   930
  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
   931
  new file mode 100644
4777
ff452675566c test-compat: reverte output change from f802a75da585 (hg-5.1)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4712
diff changeset
   932
  examine changes to 'Z'? [Ynesfdaq?] y
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   933
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   934
  @@ -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
   935
  +zzz
4777
ff452675566c test-compat: reverte output change from f802a75da585 (hg-5.1)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4712
diff changeset
   936
  record change 1/2 to 'Z'? [Ynesfdaq?] y
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   937
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   938
  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
   939
  new file mode 100644
4777
ff452675566c test-compat: reverte output change from f802a75da585 (hg-5.1)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4712
diff changeset
   940
  examine changes to 'ggg'? [Ynesfdaq?] n
3017
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   941
  
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   942
  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
   943
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   944
  $ hg --config extensions.evolve= obslog --all
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   945
  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
   946
  |
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   947
  | @  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
   948
  |/
3018
d9e998120771 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3016 3017
diff changeset
   949
  x  b24bab30ac12 (20) c_G
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3519
diff changeset
   950
  |    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
   951
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   952
  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
   953
  |    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
   954
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   955
  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
   956
  |    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
   957
  |
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   958
  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
   959
       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
   960
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   961
  $ hg export .
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   962
  # HG changeset patch
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   963
  # User test3
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   964
  # Date 0 0
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   965
  #      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
   966
  # Node ID e7ea874afbd5c17aeee366d39a828dbcb01682ce
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   967
  # Parent  dde94df880e97f4a1ee8c5408254b429b3d90204
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   968
  # EXP-Topic blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   969
  c_G
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   970
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   971
  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
   972
  --- /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
   973
  +++ 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
   974
  @@ -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
   975
  +ggg
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   976
  $ hg export .^
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   977
  # HG changeset patch
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   978
  # User test3
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   979
  # Date 0 0
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   980
  #      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
   981
  # Node ID dde94df880e97f4a1ee8c5408254b429b3d90204
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   982
  # Parent  f3328cd199dc389b850ca952f65a15a8e6dbc79b
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   983
  # EXP-Topic blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   984
  c_G
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   985
  
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   986
  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
   987
  --- /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
   988
  +++ 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
   989
  @@ -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
   990
  +zzz
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   991
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   992
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
   993
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   994
  $ hg stack
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   995
  ### topic: blue
0884856a4143 stack: handle basic case of splitting with crash
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   996
  ### target: default (branch)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   997
  s4$ c_I (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
   998
  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
   999
  s2: c_G
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
  1000
  s1: c_D
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4066
diff changeset
  1001
  s0^ c_A (base)