tests/test-topic-stack-complex.t
author Anton Shestakov <av6@dwimlabs.net>
Fri, 24 Apr 2020 01:14:34 +0800
changeset 5329 0dc4c16506fc
parent 5325 304de9a04172
child 5341 13376ca93fa3
permissions -rw-r--r--
obshistory: add predecessorsandmarkers()
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     1
Testing `hg stack` on complex cases when we have multiple successors because of
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     2
divergence, split etc.
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     3
  $ . "$TESTDIR/testlib/topic_setup.sh"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     4
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     5
Setup
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     6
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     7
  $ cat << EOF >> $HGRCPATH
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     8
  > [experimental]
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     9
  > evolution = all
5079
1f92a6aa40d6 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4998
diff changeset
    10
  > evolution.allowdivergence = True
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    11
  > [ui]
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    12
  > interactive = True
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    13
  > [extensions]
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    14
  > show =
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    15
  > EOF
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    16
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    17
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    18
  $ hg init test
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    19
  $ cd test
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    20
  $ echo foo > foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    21
  $ hg add foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    22
  $ hg ci -m "Added foo"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    23
  $ hg phase -r . --public
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    24
  $ hg topic foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    25
  marked working directory as topic: foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    26
  $ echo a > a
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    27
  $ echo b > b
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    28
  $ hg ci -Aqm "Added a and b"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    29
  $ echo c > c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    30
  $ echo d > d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    31
  $ hg ci -Aqm "Added c and d"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    32
  $ echo e > e
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    33
  $ echo f > f
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    34
  $ hg ci -Aqm "Added e and f"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    35
  $ hg show work
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    36
  @  f1d3 (foo) Added e and f
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    37
  o  8e82 (foo) Added c and d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    38
  o  002b (foo) Added a and b
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    39
  o  f360 Added foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    40
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    41
Testing in case of split within the topic
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    42
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    43
  $ hg stack
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    44
  ### topic: foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    45
  ### target: default (branch)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    46
  s3@ Added e and f (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    47
  s2: Added c and d
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    48
  s1: Added a and b
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    49
  s0^ Added foo (base)
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    50
  $ hg prev
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    51
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
4161
3c28f8a3a5a5 prev: also use stack shortcut in output when possible
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4067
diff changeset
    52
  [s2] Added c and d
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    53
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    54
  $ echo 0 > num
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    55
  $ cat > editor.sh << '__EOF__'
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    56
  > NUM=$(cat num)
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    57
  > NUM=`expr "$NUM" + 1`
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    58
  > echo "$NUM" > num
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    59
  > echo "split$NUM" > "$1"
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    60
  > __EOF__
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    61
  $ export HGEDITOR="\"sh\" \"editor.sh\""
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    62
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    63
  $ hg split << EOF
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    64
  > y
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    65
  > y
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    66
  > n
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
    67
  > c
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    68
  > EOF
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    69
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    70
  adding c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    71
  adding d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    72
  diff --git a/c b/c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    73
  new file mode 100644
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    74
  examine changes to 'c'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    75
  (enter ? for help) [Ynesfdaq?] y
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    76
  
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    77
  @@ -0,0 +1,1 @@
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    78
  +c
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    79
  record change 1/2 to 'c'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    80
  (enter ? for help) [Ynesfdaq?] y
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    81
  
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    82
  diff --git a/d b/d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    83
  new file mode 100644
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    84
  examine changes to 'd'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4633
diff changeset
    85
  (enter ? for help) [Ynesfdaq?] n
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    86
  
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
    87
  continue splitting? [Ycdq?] c
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
    88
  1 new orphan changesets
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    89
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    90
  $ hg stack
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    91
  ### topic: foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    92
  ### target: default (branch)
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4294
diff changeset
    93
  s4$ Added e and f (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    94
  s3@ split2 (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    95
  s2: split1
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    96
  s1: Added a and b
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
    97
  s0^ Added foo (base)
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    98
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    99
  $ hg show work
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   100
  @  5cce (foo) split2
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   101
  o  f26c (foo) split1
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
   102
  | *  f1d3 (foo) Added e and f
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   103
  | x  8e82 (foo) Added c and d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   104
  |/
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   105
  o  002b (foo) Added a and b
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   106
  o  f360 Added foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   107
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   108
  $ hg prev
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   109
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4161
3c28f8a3a5a5 prev: also use stack shortcut in output when possible
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4067
diff changeset
   110
  [s2] split1
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   111
  $ echo foo > c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   112
  $ hg diff
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   113
  diff -r f26c1b9addde c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   114
  --- a/c	Thu Jan 01 00:00:00 1970 +0000
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   115
  +++ b/c	Thu Jan 01 00:00:00 1970 +0000
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   116
  @@ -1,1 +1,1 @@
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   117
  -c
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   118
  +foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   119
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   120
  $ hg amend
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   121
  1 new orphan changesets
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   122
  $ hg show work
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   123
  @  7d94 (foo) split1
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
   124
  | *  5cce (foo) split2
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   125
  | x  f26c (foo) split1
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   126
  |/
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
   127
  | *  f1d3 (foo) Added e and f
3277
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   128
  | x  8e82 (foo) Added c and d
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   129
  |/
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   130
  o  002b (foo) Added a and b
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   131
  o  f360 Added foo
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   132
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   133
  $ hg stack
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   134
  ### topic: foo (2 heads)
0a6954bd6502 tests: add a test showing traceback on `hg stack` in case of split
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   135
  ### target: default (branch), 2 behind
4432
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4294
diff changeset
   136
  s4$ Added e and f (orphan)
5da1d162ad50 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net>
parents: 4294
diff changeset
   137
  s3$ split2 (orphan)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
   138
  s2@ split1 (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
   139
  s1: Added a and b
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3431
diff changeset
   140
  s0^ Added foo (base)
4189
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   141
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   142
Test case with divergence
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   143
-------------------------
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   144
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   145
  $ hg evolve --all
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   146
  move:[s3] split2
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   147
  atop:[s2] split1
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   148
  move:[s4] Added e and f
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   149
  $ hg up s4
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4436
diff changeset
   150
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
4189
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   151
  $ hg id -r .
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   152
  ec94a1ed1330 tip
4624
c9798965b1f4 revset: switch internal uses and tests to `predecessors` from legacy name
Matt Harbison <matt_harbison@yahoo.com>
parents: 4577
diff changeset
   153
  $ hg up --hidden 'min(predecessors(.))'
4189
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   154
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   155
  updated to hidden changeset f1d3649d6a8b
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   156
  (hidden revision 'f1d3649d6a8b' was rewritten as: ec94a1ed1330)
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   157
  working directory parent is obsolete! (f1d3649d6a8b)
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   158
  (use 'hg evolve' to update to its successor: ec94a1ed1330)
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   159
  $ hg amend -d '0 1'
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   160
  1 new orphan changesets
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   161
  2 new content-divergent changesets
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   162
  $ hg rebase -r . -d ec94a1ed1330~1
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   163
  rebasing 9:eb3b16fef8ea "Added e and f" (tip foo)
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   164
  $ hg stack
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   165
  ### topic: foo (2 heads)
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   166
  ### target: default (branch)
4435
7915aef191ff stack: show content and phase divergent state and symbol
Anton Shestakov <av6@dwimlabs.net>
parents: 4432
diff changeset
   167
  s5$ Added e and f (content divergent)
4189
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   168
  s3^ split2 (base)
4436
ef155f624670 stack: make @ (current) more important than $ (some sort of unstable)
Anton Shestakov <av6@dwimlabs.net>
parents: 4435
diff changeset
   169
  s4@ Added e and f (content divergent current)
4189
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   170
  s3: split2
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   171
  s2: split1
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   172
  s1: Added a and b
36d559ca5332 stack-index: add some test featuring content diversion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4161
diff changeset
   173
  s0^ Added foo (base)
4190
883e75e0a810 topicidx: stop assigning index number to obsolete changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4189
diff changeset
   174
883e75e0a810 topicidx: stop assigning index number to obsolete changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4189
diff changeset
   175
  $ hg evolve --content-divergent -r ec94a1ed1330
883e75e0a810 topicidx: stop assigning index number to obsolete changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4189
diff changeset
   176
  merge:[s5] Added e and f
883e75e0a810 topicidx: stop assigning index number to obsolete changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4189
diff changeset
   177
  with: [s4] Added e and f
4210
470ba668687a evolve: do not try to display stack index of changeset who do not have one
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4190
diff changeset
   178
  base: [3] Added e and f
4190
883e75e0a810 topicidx: stop assigning index number to obsolete changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4189
diff changeset
   179
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4998
88b816a9d990 evolve: preserve date when resolving content-divergence (issue6202)
Manuel Jacob <me@manueljacob.de>
parents: 4712
diff changeset
   180
  working directory is now at 80b2ddbf01d3
88b816a9d990 evolve: preserve date when resolving content-divergence (issue6202)
Manuel Jacob <me@manueljacob.de>
parents: 4712
diff changeset
   181
5325
304de9a04172 tests: avoid referring to commits by hash in a few places
Martin von Zweigbergk <martinvonz@google.com>
parents: 5079
diff changeset
   182
  $ hg log -r . -T '{date|hgdate}\n'
4998
88b816a9d990 evolve: preserve date when resolving content-divergence (issue6202)
Manuel Jacob <me@manueljacob.de>
parents: 4712
diff changeset
   183
  0 1