comparison tests/test-unstable.t @ 1479:72eab894a89d stable

evolve: add test for instability
author Laurent Charignon <lcharignon@fb.com>
date Fri, 07 Aug 2015 11:39:51 -0700
parents
children 3c0aebe73482
comparison
equal deleted inserted replaced
1476:19c2405cb091 1479:72eab894a89d
1 $ cat >> $HGRCPATH <<EOF
2 > [defaults]
3 > amend=-d "0 0"
4 > fold=-d "0 0"
5 > [web]
6 > push_ssl = false
7 > allow_push = *
8 > [phases]
9 > publish = False
10 > [diff]
11 > git = 1
12 > unified = 0
13 > [ui]
14 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline}\n
15 > [extensions]
16 > hgext.graphlog=
17 > EOF
18 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
19 $ mkcommit() {
20 > echo "$1" > "$1"
21 > hg add "$1"
22 > hg ci -m "add $1"
23 > }
24
25 $ mkstack() {
26 > # Creates a stack of commit based on $1 with messages from $2, $3 ..
27 > hg update "$1" -C
28 > shift
29 > mkcommits $*
30 > }
31
32 $ mkcommits() {
33 > for i in $@; do mkcommit $i ; done
34 > }
35
36 ==============================================================================
37 Test instability resolution for a changeset unstable because its parent
38 is obsolete with one successor
39 ==============================================================================
40 $ hg init test1
41 $ cd test1
42 $ mkcommits _a _b _c
43 $ hg up "desc(_b)"
44 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
45 $ hg amend -m "bprime"
46 1 new unstable changesets
47 $ hg log -G
48 @ 3:36050226a9b9@default(draft) bprime
49 |
50 | o 2:102002290587@default(draft) add _c
51 | |
52 | x 1:37445b16603b@default(draft) add _b
53 |/
54 o 0:135f39f4bd78@default(draft) add _a
55
56
57 $ hg evo --all --any --unstable
58 move:[2] add _c
59 atop:[3] bprime
60 working directory is now at fdcf3523a74d
61 $ hg log -G
62 @ 4:fdcf3523a74d@default(draft) add _c
63 |
64 o 3:36050226a9b9@default(draft) bprime
65 |
66 o 0:135f39f4bd78@default(draft) add _a
67
68
69 $ cd ..
70
71 ===============================================================================
72 Test instability resolution for a merge changeset unstable because one
73 of its parent is obsolete
74 Not supported yet
75 ==============================================================================
76
77 $ hg init test2
78 $ cd test2
79 $ mkcommit base
80 $ mkcommits _a
81 $ hg up "desc(base)"
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
83 $ mkcommit _c
84 created new head
85 $ hg merge "desc(_a)" >/dev/null
86 $ hg commit -m "merge"
87 $ hg up "desc(_a)"
88 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
89 $ hg amend -m "aprime"
90 1 new unstable changesets
91 $ hg log -G
92 @ 4:47127ea62e5f@default(draft) aprime
93 |
94 | o 3:6b4280e33286@default(draft) merge
95 | |\
96 +---o 2:474da87dd33b@default(draft) add _c
97 | |
98 | x 1:b3264cec9506@default(draft) add _a
99 |/
100 o 0:b4952fcf48cf@default(draft) add base
101
102
103 $ hg evo --all --any --unstable
104 move:[3] merge
105 atop:[4] aprime
106 abort: no support for evolving merge changesets yet
107 (Redo the merge and use `hg prune <old> --succ <new>` to obsolete the old one)
108 [255]
109 $ hg log -G
110 @ 4:47127ea62e5f@default(draft) aprime
111 |
112 | o 3:6b4280e33286@default(draft) merge
113 | |\
114 +---o 2:474da87dd33b@default(draft) add _c
115 | |
116 | x 1:b3264cec9506@default(draft) add _a
117 |/
118 o 0:b4952fcf48cf@default(draft) add base
119
120
121 $ cd ..
122
123 ===============================================================================
124 Test instability resolution for a merge changeset unstable because both
125 of its parent are obsolete
126 Not supported yet
127 ==============================================================================
128
129 $ hg init test3
130 $ cd test3
131 $ mkcommit base
132 $ mkcommits _a
133 $ hg up "desc(base)"
134 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
135 $ mkcommit _c
136 created new head
137 $ hg merge "desc(_a)" >/dev/null
138 $ hg commit -m "merge"
139 $ hg up "desc(_a)"
140 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
141 $ hg amend -m "aprime"
142 1 new unstable changesets
143 $ hg up "desc(_c)"
144 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
145 $ hg amend -m "cprime"
146 $ hg log -G
147 @ 5:2db39fda7e2f@default(draft) cprime
148 |
149 | o 4:47127ea62e5f@default(draft) aprime
150 |/
151 | o 3:6b4280e33286@default(draft) merge
152 | |\
153 +---x 2:474da87dd33b@default(draft) add _c
154 | |
155 | x 1:b3264cec9506@default(draft) add _a
156 |/
157 o 0:b4952fcf48cf@default(draft) add base
158
159
160 $ hg evo --all --any --unstable
161 move:[3] merge
162 atop:[5] cprime
163 abort: no support for evolving merge changesets yet
164 (Redo the merge and use `hg prune <old> --succ <new>` to obsolete the old one)
165 [255]
166 $ hg log -G
167 @ 5:2db39fda7e2f@default(draft) cprime
168 |
169 | o 4:47127ea62e5f@default(draft) aprime
170 |/
171 | o 3:6b4280e33286@default(draft) merge
172 | |\
173 +---x 2:474da87dd33b@default(draft) add _c
174 | |
175 | x 1:b3264cec9506@default(draft) add _a
176 |/
177 o 0:b4952fcf48cf@default(draft) add base
178
179
180 $ cd ..
181
182 ===============================================================================
183 Test instability resolution for a changeset unstable because its parent
184 is obsolete with multiple successors all in one chain (simple split)
185 Not supported yet
186 ==============================================================================
187
188 $ hg init test4
189 $ cd test4
190 $ mkcommits _a _b _c
191 $ hg up "desc(_a)"
192 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
193 $ mkcommits bprimesplit1 bprimesplit2
194 created new head
195 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
196 1 changesets pruned
197 1 new unstable changesets
198 $ hg log -G
199 @ 4:2a4ccc0bb20c@default(draft) add bprimesplit2
200 |
201 o 3:8b87864bd0f4@default(draft) add bprimesplit1
202 |
203 | o 2:102002290587@default(draft) add _c
204 | |
205 | x 1:37445b16603b@default(draft) add _b
206 |/
207 o 0:135f39f4bd78@default(draft) add _a
208
209
210 $ hg evo --all --any --unstable
211 does not handle split parents yet
212 $ hg log -G
213 @ 4:2a4ccc0bb20c@default(draft) add bprimesplit2
214 |
215 o 3:8b87864bd0f4@default(draft) add bprimesplit1
216 |
217 | o 2:102002290587@default(draft) add _c
218 | |
219 | x 1:37445b16603b@default(draft) add _b
220 |/
221 o 0:135f39f4bd78@default(draft) add _a
222
223
224
225 $ cd ..
226
227 ===============================================================================
228 Test instability resolution for a changeset unstable because its parent
229 is obsolete with multiple successors on one branches but in reverse
230 order (cross-split).
231 Not supported yet
232 ==============================================================================
233
234 $ hg init test5
235 $ cd test5
236 $ mkcommits _a _b _c
237 $ hg up "desc(_a)"
238 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
239 $ mkcommits bprimesplit1 bprimesplit2
240 created new head
241 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
242 1 changesets pruned
243 1 new unstable changesets
244 $ hg up "desc(_a)"
245 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
246 $ mkcommits bsecondsplit1 bsecondsplit2
247 created new head
248 $ hg prune "desc(bprimesplit1)" -s "desc(bsecondsplit2)"
249 1 changesets pruned
250 1 new unstable changesets
251 $ hg prune "desc(bprimesplit2)" -s "desc(bsecondsplit1)"
252 1 changesets pruned
253 $ hg log -G
254 @ 6:59b942dbda14@default(draft) add bsecondsplit2
255 |
256 o 5:8ffdae67d696@default(draft) add bsecondsplit1
257 |
258 | o 2:102002290587@default(draft) add _c
259 | |
260 | x 1:37445b16603b@default(draft) add _b
261 |/
262 o 0:135f39f4bd78@default(draft) add _a
263
264
265 $ hg evo --all --any --unstable
266 does not handle split parents yet
267 $ hg log -G
268 @ 6:59b942dbda14@default(draft) add bsecondsplit2
269 |
270 o 5:8ffdae67d696@default(draft) add bsecondsplit1
271 |
272 | o 2:102002290587@default(draft) add _c
273 | |
274 | x 1:37445b16603b@default(draft) add _b
275 |/
276 o 0:135f39f4bd78@default(draft) add _a
277
278
279
280 $ cd ..
281
282 ===============================================================================
283 Test instability resolution for a changeset unstable because its parent
284 is obsolete with multiple successors on two branches.
285 Not supported yet
286 ==============================================================================
287
288 $ hg init test6
289 $ cd test6
290 $ mkcommits _a _b _c
291 $ hg up "desc(_a)"
292 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
293 $ mkcommit bprimesplit1
294 created new head
295 $ hg up "desc(_a)"
296 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
297 $ mkcommit bprimesplit2
298 created new head
299 $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
300 1 changesets pruned
301 1 new unstable changesets
302 $ hg log -G
303 @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
304 |
305 | o 3:8b87864bd0f4@default(draft) add bprimesplit1
306 |/
307 | o 2:102002290587@default(draft) add _c
308 | |
309 | x 1:37445b16603b@default(draft) add _b
310 |/
311 o 0:135f39f4bd78@default(draft) add _a
312
313
314 $ hg evo --all --any --unstable
315 does not handle split parents yet
316 $ hg log -G
317 @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
318 |
319 | o 3:8b87864bd0f4@default(draft) add bprimesplit1
320 |/
321 | o 2:102002290587@default(draft) add _c
322 | |
323 | x 1:37445b16603b@default(draft) add _b
324 |/
325 o 0:135f39f4bd78@default(draft) add _a
326
327
328
329 $ cd ..
330