annotate tests/test-prev-next.t @ 1742:970a4c13ebc3 stable

evolve: lock the working copy early in next and prev (issue5244) Both next and prev depend on a consistent working copy, but were waiting to take the lock until they were ready to alter the working copy. Take the lock before reading the working copy state, and do not release it until we're definitely not going to change the working copy.
author Simon Farnsworth <simonfar@fb.com>
date Sun, 16 Oct 2016 09:52:53 -0700
parents b4dfafda72c2
children 299cdaa24fa5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
5 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
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
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
50 $ hg next
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
51 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
52 [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
53 $ hg bookmarks
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
54 mark 1:6e742c9127b3
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
55 mark2 0:a154386e50d1
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
56
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
57 $ hg bookmark -d mark2
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
58 $ hg bookmark mark
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
59
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
60 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
61 $ touch c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
62 $ hg add c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
63 $ hg commit -m 'added c'
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
64 $ hg bookmark -r2 no-move
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
65 $ hg prev -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
66 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
67 [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
68 $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
69 * mark 1:6e742c9127b3
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
70 no-move 2:4e26ef31f919
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
71 $ hg next -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
72 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
73 [2] added c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
74 $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
75 * mark 2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
76 no-move 2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
77 $ hg up 1
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
78 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
79 (leaving bookmark mark)
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
80 $ hg next -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
81 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
82 [2] added c
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
83 $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
84 mark 2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
85 no-move 2:4e26ef31f919
1160
e29a813f6af5 Make next/prev only move bookmarks optionally
Ryan McElroy <rmcelroy@fb.com>
parents: 964
diff changeset
86 $ hg prev -B
892
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
87 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
88 [1] added b
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
89 $ hg bookmarks
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
90 mark 2:4e26ef31f919
947fb5b1915b evolve: active bookmark should move when using prev/next (#37)
Olle Lundberg <geek@nerd.sh>
parents:
diff changeset
91 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
92
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
93
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
94 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
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 $ 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
98 $ 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
99 $ hg prev
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
100 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
101 (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
102 [255]
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
103 $ 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
104 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
105 [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
106 $ hg next
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
107 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
108 (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
109 [255]
fcc467ca740e next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
110 $ 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
111 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
112 [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
113
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
114 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
115 -------------------------------
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
116
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
117 $ hg revert --all
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
118 forgetting modified-bar
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
119 $ hg log -G
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
120 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
121 | bookmark: mark
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
122 | bookmark: no-move
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
123 | tag: tip
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
124 | user: test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
125 | 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
126 | summary: added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
127 |
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
128 @ changeset: 1:6e742c9127b3
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
129 | user: test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
130 | 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
131 | summary: added b
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
132 |
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
133 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
134 user: test
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
135 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
136 summary: added a
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
137
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
138
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
139 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
140
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
141 $ hg next
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
142 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
143 [2] added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
144 $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
145 no children
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
146 [1]
1487
ee5391999f2d next: properly report no children when --evolve is used
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1449
diff changeset
147 $ 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
148 no children
ee5391999f2d next: properly report no children when --evolve is used
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1449
diff changeset
149 [1]
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
150 $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
151 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
152 [1] added b
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
153
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
154 some aspiring children
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
155
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
156 $ 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
157 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
158 $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
159 no children
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
160 (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
161 [1]
1500
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
162 $ hg next --evolve --dry-run
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
163 move:[2] added c
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
164 atop:[3] added b (2)
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
165 hg rebase -r 4e26ef31f919 -d 9ad178109a19
b4dfafda72c2 next: add support for --dry-run
timeless@mozdev.org
parents: 1487
diff changeset
166 working directory now at 9ad178109a19
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
167 $ hg next --evolve
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
168 move:[2] added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
169 atop:[3] added b (2)
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
170 working directory now at e3b6d5df389b
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
171
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
172 next with ambiguity
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
173
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
174 $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
175 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
176 [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
177 $ echo d > d
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
178 $ hg add d
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
179 $ 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
180 created new head
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
181 $ hg prev
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
182 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
183 [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
184 $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
185 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
186 [4] added c
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
187 [5] added d
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
188 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
189 [1]
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
190
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
191 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
192
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
193 $ 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
194 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
195 $ hg next
1447
09206bdc2db4 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1445
diff changeset
196 no children
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
197 (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
198 [1]
1449
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
199 $ hg next --evolve
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
200 ambigious next (unstable) changeset:
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
201 [4] added c
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
202 [5] added d
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
203 (run "hg evolve --rev REV" on one of them)
9be1cadf7a07 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1448
diff changeset
204 [1]
1445
6fd6c98f9f70 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1427
diff changeset
205 $ 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
206 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
207 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
208 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
209
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
210 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
211
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
212 $ hg init repo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
213 $ cd repo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
214 $ 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
215 $ echo hi > foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
216 $ 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
217 adding foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
218 $ echo bye > foo
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
219 $ 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
220
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
221 $ hg amend --edit &
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
222 $ sleep 1
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
223 $ hg prev
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
224 waiting for lock on working directory of $TESTTMP/repo held by '*' (glob)
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
225 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
226 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
227 [0] one
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
228 $ wait
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 next --evolve
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
233 waiting for lock on working directory of $TESTTMP/repo held by '*' (glob)
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
234 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
235 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
236 move:[2] two
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
237 atop:[3] one
970a4c13ebc3 evolve: lock the working copy early in next and prev (issue5244)
Simon Farnsworth <simonfar@fb.com>
parents: 1500
diff changeset
238 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
239 $ wait