tests/test-prev-next.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 22 Jun 2017 10:13:29 +0200
changeset 2653 13313d0cab71
parent 2443 6a23a55f77d2
child 2466 e5e502407ab0
child 2737 66278c4d9c07
permissions -rw-r--r--
topicmap: massive rework Massively rework the way we build and use topicmap. This bring massive performance benefit. Topic map use to be a fully independant thing that we would switch on and off globaly. The caching on disk was broken so the performance were atrocious. Intead, now the topic are inherited from the 'immutable' map. We gave up on storing them on disk for now since the mutable set is usually small enough. The activation is done by hacking new "filter" on the repository and detection when they are one. This is hacky but core is hard to wrap here. Overall this whole wrapping is really scary and we should massage core API to help it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     2
  > [extensions]
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     3
  > hgext.graphlog=
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     4
  > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1756
diff changeset
     5
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     6
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
     7
hg prev -B should move active bookmark
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     8
  $ hg init
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
     9
  $ touch a
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    10
  $ hg add a
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    11
  $ hg commit -m 'added a'
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    12
  $ touch b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    13
  $ hg add b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    14
  $ hg commit -m 'added b'
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    15
  $ hg bookmark mark
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    16
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    17
   * mark                      1:6e742c9127b3
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    18
  $ hg prev -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    19
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    20
  [0] added a
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    21
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    22
   * mark                      0:a154386e50d1
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    23
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    24
hg next -B should move active bookmark
1500
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    25
  $ hg next -B --dry-run
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    26
  hg update 1;
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    27
  hg bookmark mark -r 1;
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    28
  [1] added b
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    29
  $ hg next -B
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    30
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    31
  [1] added b
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    32
  $ hg bookmarks
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    33
   * mark                      1:6e742c9127b3
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    34
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    35
hg prev should unset active bookmark
1500
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    36
  $ hg prev --dry-run
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    37
  hg update 0;
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
    38
  [0] added a
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    39
  $ hg prev
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    40
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    41
  [0] added a
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    42
  $ hg bookmarks
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    43
     mark                      1:6e742c9127b3
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    44
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    45
hg next should move active bookmark
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    46
  $ hg bookmark mark2
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    47
  $ hg bookmarks
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    48
     mark                      1:6e742c9127b3
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    49
   * mark2                     0:a154386e50d1
2396
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
    50
  $ hg next --dry-run --color=debug
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
    51
  hg update 1;
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
    52
  [[evolve.rev|1]] added b
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    53
  $ hg next
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    54
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    55
  [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    56
  $ hg bookmarks
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    57
     mark                      1:6e742c9127b3
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    58
     mark2                     0:a154386e50d1
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    59
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    60
  $ hg bookmark -d mark2
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    61
  $ hg bookmark mark
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    62
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    63
hg next/prev should not interfere with inactive bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    64
  $ touch c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    65
  $ hg add c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    66
  $ hg commit -m 'added c'
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    67
  $ hg bookmark -r2 no-move
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    68
  $ hg prev -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    69
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    70
  [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    71
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    72
   * mark                      1:6e742c9127b3
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    73
     no-move                   2:4e26ef31f919
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    74
  $ hg next -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    75
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    76
  [2] added c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    77
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    78
   * mark                      2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    79
     no-move                   2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    80
  $ hg up 1
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    81
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
964
c768f7666106 test: update to output change introduced by future 3.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 892
diff changeset
    82
  (leaving bookmark mark)
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    83
  $ hg next -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    84
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    85
  [2] added c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    86
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    87
     mark                      2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    88
     no-move                   2:4e26ef31f919
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
    89
  $ hg prev -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    90
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    91
  [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    92
  $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    93
     mark                      2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
    94
     no-move                   2:4e26ef31f919
1427
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
    95
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
    96
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
    97
Behavior with local modification
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
    98
--------------------------------
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
    99
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   100
  $ echo foo > modified-bar
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   101
  $ hg add modified-bar
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   102
  $ hg prev
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   103
  abort: uncommitted changes
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   104
  (do you want --merge?)
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   105
  [255]
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   106
  $ hg prev --merge
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   107
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   108
  [0] added a
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   109
  $ hg next
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   110
  abort: uncommitted changes
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   111
  (do you want --merge?)
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   112
  [255]
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   113
  $ hg next --merge
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   114
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   115
  [1] added b
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
   116
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   117
Behavior with aspiring children
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   118
-------------------------------
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   119
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   120
  $ hg revert --all
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   121
  forgetting modified-bar
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   122
  $ hg log -G
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   123
  o  changeset:   2:4e26ef31f919
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   124
  |  bookmark:    mark
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   125
  |  bookmark:    no-move
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   126
  |  tag:         tip
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   127
  |  user:        test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   128
  |  date:        Thu Jan 01 00:00:00 1970 +0000
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   129
  |  summary:     added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   130
  |
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   131
  @  changeset:   1:6e742c9127b3
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   132
  |  user:        test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   133
  |  date:        Thu Jan 01 00:00:00 1970 +0000
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   134
  |  summary:     added b
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   135
  |
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   136
  o  changeset:   0:a154386e50d1
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   137
     user:        test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   138
     date:        Thu Jan 01 00:00:00 1970 +0000
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   139
     summary:     added a
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   140
  
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   141
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   142
no children of any kind
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   143
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   144
  $ hg next
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   145
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   146
  [2] added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   147
  $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
   148
  no children
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   149
  [1]
1487
ee5391999f2d next: properly report no children when --evolve is used
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1449
diff changeset
   150
  $ hg next --evolve
ee5391999f2d next: properly report no children when --evolve is used
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1449
diff changeset
   151
  no children
ee5391999f2d next: properly report no children when --evolve is used
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1449
diff changeset
   152
  [1]
2396
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
   153
  $ hg prev --dry-run --color=debug
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
   154
  hg update 1;
c1485ebdd6b9 color: update the shorttemplate to use colors
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
   155
  [[evolve.rev|1]] added b
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   156
  $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   157
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   158
  [1] added b
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   159
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   160
some aspiring children
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   161
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   162
  $ hg amend -m 'added b (2)'
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   163
  1 new unstable changesets
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   164
  $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
   165
  no children
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   166
  (1 unstable changesets to be evolved here, do you want --evolve?)
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   167
  [1]
1500
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
   168
  $ hg next --evolve --dry-run
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
   169
  move:[2] added c
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
   170
  atop:[3] added b (2)
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
   171
  hg rebase -r 4e26ef31f919 -d 9ad178109a19
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
   172
  working directory now at 9ad178109a19
2443
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   173
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   174
(add color output for smoke testing)
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   175
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   176
  $ hg next --evolve --color debug
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   177
  move:[[evolve.rev|2]] added c
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   178
  atop:[[evolve.rev|3]] added b (2)
6a23a55f77d2 next: prevent a color related crash when evolve
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2396
diff changeset
   179
  [ ui.status|working directory now at [evolve.node|e3b6d5df389b]]
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   180
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   181
next with ambiguity
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   182
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   183
  $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   184
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   185
  [3] added b (2)
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   186
  $ echo d > d
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   187
  $ hg add d
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   188
  $ hg commit -m 'added d'
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   189
  created new head
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   190
  $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   191
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   192
  [3] added b (2)
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   193
  $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
   194
  ambigious next changeset:
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   195
  [4] added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   196
  [5] added d
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
   197
  explicitly update to one of them
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   198
  [1]
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   199
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   200
next with ambiguity in aspiring children
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   201
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   202
  $ hg am -m 'added b (3)'
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   203
  2 new unstable changesets
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   204
  $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
   205
  no children
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   206
  (2 unstable changesets to be evolved here, do you want --evolve?)
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   207
  [1]
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   208
  $ hg next --evolve
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   209
  ambigious next (unstable) changeset:
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   210
  [4] added c
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   211
  [5] added d
1756
a7dcfff8c4a9 evolve: use single quotes in usage messages
Martin von Zweigbergk <martinvonz@google.com>
parents: 1743
diff changeset
   212
  (run 'hg evolve --rev REV' on one of them)
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
   213
  [1]
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   214
  $ hg evolve -r 5
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   215
  move:[5] added d
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   216
  atop:[6] added b (3)
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
   217
  working directory is now at 47ea25be8aea
1742
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   218
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   219
prev and next should lock properly against other commands
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   220
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   221
  $ hg init repo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   222
  $ cd repo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   223
  $ HGEDITOR=${TESTDIR}/fake-editor.sh
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   224
  $ echo hi > foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   225
  $ hg ci -Am 'one'
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   226
  adding foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   227
  $ echo bye > foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   228
  $ hg ci -Am 'two'
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   229
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   230
  $ hg amend --edit &
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   231
  $ sleep 1
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   232
  $ hg prev
1743
299cdaa24fa5 merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1742
diff changeset
   233
  waiting for lock on working directory of $TESTTMP/repo held by process '*' on host '*' (glob)
1742
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   234
  got lock after [4-6] seconds (re)
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   235
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   236
  [0] one
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   237
  $ wait
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   238
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   239
  $ hg amend --edit &
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   240
  $ sleep 1
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   241
  $ hg next --evolve
1743
299cdaa24fa5 merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1742
diff changeset
   242
  waiting for lock on working directory of $TESTTMP/repo held by process '*' on host '*' (glob)
1742
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   243
  1 new unstable changesets
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   244
  got lock after [4-6] seconds (re)
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   245
  move:[2] two
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   246
  atop:[3] one
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   247
  working directory now at a7d885c75614
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
   248
  $ wait