##// END OF EJS Templates
tests: rewrite test-rebase-detach.t using drawdag...
Martin von Zweigbergk -
r33560:d4df141f default
parent child Browse files
Show More
This diff has been collapsed as it changes many lines, (535 lines changed) Show them Hide them
@@ -4,167 +4,241 b''
4 >
4 >
5 > [alias]
5 > [alias]
6 > tglog = log -G --template "{rev}: '{desc}'\n"
6 > tglog = log -G --template "{rev}: '{desc}'\n"
7 >
8 > [extensions]
9 > drawdag=$TESTDIR/drawdag.py
7 > EOF
10 > EOF
8
11
12 Rebasing D onto B detaching from C (one commit):
9
13
10 $ hg init a
14 $ hg init a1
11 $ cd a
12 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
13 adding changesets
14 adding manifests
15 adding file changes
16 added 8 changesets with 7 changes to 7 files (+2 heads)
17 (run 'hg heads' to see heads, 'hg merge' to merge)
18 $ hg up tip
19 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
20
21 $ cd ..
22
23
24 Rebasing D onto H detaching from C:
25
26 $ hg clone -q -u . a a1
27 $ cd a1
15 $ cd a1
28
16
29 $ hg tglog
17 $ hg debugdrawdag <<EOF
30 @ 7: 'H'
18 > D
31 |
19 > |
32 | o 6: 'G'
20 > C B
33 |/|
21 > |/
34 o | 5: 'F'
22 > A
35 | |
23 > EOF
36 | o 4: 'E'
24 $ hg phase --force --secret D
37 |/
25
38 | o 3: 'D'
26 $ hg rebase -s D -d B
39 | |
27 rebasing 3:e7b3f00ed42e "D" (D tip)
40 | o 2: 'C'
28 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/e7b3f00ed42e-6f368371-rebase.hg (glob)
41 | |
42 | o 1: 'B'
43 |/
44 o 0: 'A'
45
46 $ hg phase --force --secret 3
47 $ hg rebase -s 3 -d 7
48 rebasing 3:32af7686d403 "D"
49 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
50
29
51 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
30 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
52 o 7:secret 'D'
31 o 3:secret 'D'
53 |
54 @ 6:draft 'H'
55 |
32 |
56 | o 5:draft 'G'
57 |/|
58 o | 4:draft 'F'
59 | |
60 | o 3:draft 'E'
61 |/
62 | o 2:draft 'C'
33 | o 2:draft 'C'
63 | |
34 | |
64 | o 1:draft 'B'
35 o | 1:draft 'B'
65 |/
36 |/
66 o 0:draft 'A'
37 o 0:draft 'A'
67
38
68 $ hg manifest --rev tip
39 $ hg manifest --rev tip
69 A
40 A
41 B
70 D
42 D
71 F
72 H
73
43
74 $ cd ..
44 $ cd ..
75
45
76
46
77 Rebasing C onto H detaching from B:
47 Rebasing D onto B detaching from C (two commits):
48
49 $ hg init a2
50 $ cd a2
78
51
79 $ hg clone -q -u . a a2
52 $ hg debugdrawdag <<EOF
80 $ cd a2
53 > E
54 > |
55 > D
56 > |
57 > C B
58 > |/
59 > A
60 > EOF
61
62 $ hg rebase -s D -d B
63 rebasing 3:e7b3f00ed42e "D" (D)
64 rebasing 4:69a34c08022a "E" (E tip)
65 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/e7b3f00ed42e-a2ec7cea-rebase.hg (glob)
81
66
82 $ hg tglog
67 $ hg tglog
83 @ 7: 'H'
68 o 4: 'E'
84 |
69 |
85 | o 6: 'G'
70 o 3: 'D'
86 |/|
71 |
87 o | 5: 'F'
88 | |
89 | o 4: 'E'
90 |/
91 | o 3: 'D'
92 | |
93 | o 2: 'C'
72 | o 2: 'C'
94 | |
73 | |
95 | o 1: 'B'
74 o | 1: 'B'
96 |/
97 o 0: 'A'
98
99 $ hg rebase -s 2 -d 7
100 rebasing 2:5fddd98957c8 "C"
101 rebasing 3:32af7686d403 "D"
102 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
103
104 $ hg tglog
105 o 7: 'D'
106 |
107 o 6: 'C'
108 |
109 @ 5: 'H'
110 |
111 | o 4: 'G'
112 |/|
113 o | 3: 'F'
114 | |
115 | o 2: 'E'
116 |/
117 | o 1: 'B'
118 |/
75 |/
119 o 0: 'A'
76 o 0: 'A'
120
77
121 $ hg manifest --rev tip
78 $ hg manifest --rev tip
122 A
79 A
80 B
81 D
82 E
83
84 $ cd ..
85
86 Rebasing C onto B using detach (same as not using it):
87
88 $ hg init a3
89 $ cd a3
90
91 $ hg debugdrawdag <<EOF
92 > D
93 > |
94 > C B
95 > |/
96 > A
97 > EOF
98
99 $ hg rebase -s C -d B
100 rebasing 2:dc0947a82db8 "C" (C)
101 rebasing 3:e7b3f00ed42e "D" (D tip)
102 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/dc0947a82db8-b8481714-rebase.hg (glob)
103
104 $ hg tglog
105 o 3: 'D'
106 |
107 o 2: 'C'
108 |
109 o 1: 'B'
110 |
111 o 0: 'A'
112
113 $ hg manifest --rev tip
114 A
115 B
123 C
116 C
124 D
117 D
125 F
126 H
127
118
128 $ cd ..
119 $ cd ..
129
120
130
121
131 Rebasing B onto H using detach (same as not using it):
122 Rebasing D onto B detaching from C and collapsing:
123
124 $ hg init a4
125 $ cd a4
126
127 $ hg debugdrawdag <<EOF
128 > E
129 > |
130 > D
131 > |
132 > C B
133 > |/
134 > A
135 > EOF
136 $ hg phase --force --secret E
137
138 $ hg rebase --collapse -s D -d B
139 rebasing 3:e7b3f00ed42e "D" (D)
140 rebasing 4:69a34c08022a "E" (E tip)
141 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/e7b3f00ed42e-a2ec7cea-rebase.hg (glob)
132
142
133 $ hg clone -q -u . a a3
143 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
134 $ cd a3
144 o 3:secret 'Collapsed revision
145 | * D
146 | * E'
147 | o 2:draft 'C'
148 | |
149 o | 1:draft 'B'
150 |/
151 o 0:draft 'A'
152
153 $ hg manifest --rev tip
154 A
155 B
156 D
157 E
158
159 $ cd ..
160
161 Rebasing across null as ancestor
162 $ hg init a5
163 $ cd a5
164
165 $ hg debugdrawdag <<EOF
166 > E
167 > |
168 > D
169 > |
170 > C
171 > |
172 > A B
173 > EOF
174
175 $ hg rebase -s C -d B
176 rebasing 2:dc0947a82db8 "C" (C)
177 rebasing 3:e7b3f00ed42e "D" (D)
178 rebasing 4:69a34c08022a "E" (E tip)
179 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/dc0947a82db8-3eefec98-rebase.hg (glob)
135
180
136 $ hg tglog
181 $ hg tglog
137 @ 7: 'H'
182 o 4: 'E'
183 |
184 o 3: 'D'
185 |
186 o 2: 'C'
138 |
187 |
139 | o 6: 'G'
188 o 1: 'B'
140 |/|
189
141 o | 5: 'F'
190 o 0: 'A'
142 | |
191
143 | o 4: 'E'
192 $ hg rebase -d 1 -s 3
193 rebasing 3:e9153d36a1af "D"
194 rebasing 4:e3d0c70d606d "E" (tip)
195 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/e9153d36a1af-db7388ed-rebase.hg (glob)
196 $ hg tglog
197 o 4: 'E'
198 |
199 o 3: 'D'
200 |
201 | o 2: 'C'
144 |/
202 |/
145 | o 3: 'D'
203 o 1: 'B'
146 | |
204
147 | o 2: 'C'
148 | |
149 | o 1: 'B'
150 |/
151 o 0: 'A'
205 o 0: 'A'
152
206
153 $ hg rebase -s 1 -d 7
207 $ cd ..
154 rebasing 1:42ccdea3bb16 "B"
208
155 rebasing 2:5fddd98957c8 "C"
209 Verify that target is not selected as external rev (issue3085)
156 rebasing 3:32af7686d403 "D"
210
157 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
211 $ hg init a6
212 $ cd a6
158
213
214 $ hg debugdrawdag <<EOF
215 > H
216 > | G
217 > |/|
218 > F E
219 > |/
220 > A
221 > EOF
222 $ hg up -q G
223
224 $ echo "I" >> E
225 $ hg ci -m "I"
226 $ hg tag --local I
227 $ hg merge H
228 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
229 (branch merge, don't forget to commit)
230 $ hg ci -m "Merge"
231 $ echo "J" >> F
232 $ hg ci -m "J"
159 $ hg tglog
233 $ hg tglog
160 o 7: 'D'
234 @ 7: 'J'
161 |
162 o 6: 'C'
163 |
235 |
164 o 5: 'B'
236 o 6: 'Merge'
165 |
237 |\
166 @ 4: 'H'
238 | o 5: 'I'
167 |
239 | |
240 o | 4: 'H'
241 | |
168 | o 3: 'G'
242 | o 3: 'G'
169 |/|
243 |/|
170 o | 2: 'F'
244 o | 2: 'F'
@@ -173,116 +247,17 b' Rebasing B onto H using detach (same as '
173 |/
247 |/
174 o 0: 'A'
248 o 0: 'A'
175
249
176 $ hg manifest --rev tip
250 $ hg rebase -s I -d H --collapse --config ui.merge=internal:other
177 A
251 rebasing 5:b92d164ad3cb "I" (I)
178 B
252 rebasing 6:0cfbc7e8faaf "Merge"
179 C
253 rebasing 7:c6aaf0d259c0 "J" (tip)
180 D
254 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/b92d164ad3cb-88fd7ab7-rebase.hg (glob)
181 F
182 H
183
184 $ cd ..
185
186
187 Rebasing C onto H detaching from B and collapsing:
188
189 $ hg clone -q -u . a a4
190 $ cd a4
191 $ hg phase --force --secret 3
192
255
193 $ hg tglog
256 $ hg tglog
194 @ 7: 'H'
257 @ 5: 'Collapsed revision
195 |
258 | * I
196 | o 6: 'G'
259 | * Merge
197 |/|
260 | * J'
198 o | 5: 'F'
199 | |
200 | o 4: 'E'
201 |/
202 | o 3: 'D'
203 | |
204 | o 2: 'C'
205 | |
206 | o 1: 'B'
207 |/
208 o 0: 'A'
209
210 $ hg rebase --collapse -s 2 -d 7
211 rebasing 2:5fddd98957c8 "C"
212 rebasing 3:32af7686d403 "D"
213 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
214
215 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
216 o 6:secret 'Collapsed revision
217 | * C
218 | * D'
219 @ 5:draft 'H'
220 |
221 | o 4:draft 'G'
222 |/|
223 o | 3:draft 'F'
224 | |
225 | o 2:draft 'E'
226 |/
227 | o 1:draft 'B'
228 |/
229 o 0:draft 'A'
230
231 $ hg manifest --rev tip
232 A
233 C
234 D
235 F
236 H
237
238 $ cd ..
239
240 Rebasing across null as ancestor
241 $ hg clone -q -U a a5
242
243 $ cd a5
244
245 $ echo x > x
246
247 $ hg add x
248
249 $ hg ci -m "extra branch"
250 created new head
251
252 $ hg tglog
253 @ 8: 'extra branch'
254
255 o 7: 'H'
256 |
257 | o 6: 'G'
258 |/|
259 o | 5: 'F'
260 | |
261 | o 4: 'E'
262 |/
263 | o 3: 'D'
264 | |
265 | o 2: 'C'
266 | |
267 | o 1: 'B'
268 |/
269 o 0: 'A'
270
271 $ hg rebase -s 1 -d tip
272 rebasing 1:42ccdea3bb16 "B"
273 rebasing 2:5fddd98957c8 "C"
274 rebasing 3:32af7686d403 "D"
275 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
276
277 $ hg tglog
278 o 8: 'D'
279 |
280 o 7: 'C'
281 |
282 o 6: 'B'
283 |
284 @ 5: 'extra branch'
285
286 o 4: 'H'
261 o 4: 'H'
287 |
262 |
288 | o 3: 'G'
263 | o 3: 'G'
@@ -294,76 +269,8 b' Rebasing across null as ancestor'
294 o 0: 'A'
269 o 0: 'A'
295
270
296
271
297 $ hg rebase -d 5 -s 7
298 rebasing 7:13547172c9c0 "C"
299 rebasing 8:4e27a76c371a "D" (tip)
300 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/13547172c9c0-35685ded-rebase.hg (glob)
301 $ hg tglog
302 o 8: 'D'
303 |
304 o 7: 'C'
305 |
306 | o 6: 'B'
307 |/
308 @ 5: 'extra branch'
309
310 o 4: 'H'
311 |
312 | o 3: 'G'
313 |/|
314 o | 2: 'F'
315 | |
316 | o 1: 'E'
317 |/
318 o 0: 'A'
319
320 $ cd ..
321
322 Verify that target is not selected as external rev (issue3085)
323
324 $ hg clone -q -U a a6
325 $ cd a6
326 $ hg up -q 6
327
328 $ echo "I" >> E
329 $ hg ci -m "I"
330 $ hg merge 7
331 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
332 (branch merge, don't forget to commit)
333 $ hg ci -m "Merge"
334 $ echo "J" >> F
335 $ hg ci -m "J"
336
337 $ hg rebase -s 8 -d 7 --collapse --config ui.merge=internal:other
338 rebasing 8:9790e768172d "I"
339 rebasing 9:5d7b11f5fb97 "Merge"
340 rebasing 10:9427d4d5af81 "J" (tip)
341 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/9790e768172d-c2111e9d-rebase.hg (glob)
342
343 $ hg tglog
344 @ 8: 'Collapsed revision
345 | * I
346 | * Merge
347 | * J'
348 o 7: 'H'
349 |
350 | o 6: 'G'
351 |/|
352 o | 5: 'F'
353 | |
354 | o 4: 'E'
355 |/
356 | o 3: 'D'
357 | |
358 | o 2: 'C'
359 | |
360 | o 1: 'B'
361 |/
362 o 0: 'A'
363
364
365 $ hg log --rev tip
272 $ hg log --rev tip
366 changeset: 8:9472f4b1d736
273 changeset: 5:65079693dac4
367 tag: tip
274 tag: tip
368 user: test
275 user: test
369 date: Thu Jan 01 00:00:00 1970 +0000
276 date: Thu Jan 01 00:00:00 1970 +0000
@@ -373,40 +280,36 b' Verify that target is not selected as ex'
373 $ cd ..
280 $ cd ..
374
281
375 Ensure --continue restores a correct state (issue3046) and phase:
282 Ensure --continue restores a correct state (issue3046) and phase:
376 $ hg clone -q a a7
283 $ hg init a7
377 $ cd a7
284 $ cd a7
378 $ hg up -q 3
285
379 $ echo 'H2' > H
286 $ hg debugdrawdag <<EOF
380 $ hg ci -A -m 'H2'
287 > C B
381 adding H
288 > |/
382 $ hg phase --force --secret 8
289 > A
383 $ hg rebase -s 8 -d 7 --config ui.merge=internal:fail
290 > EOF
384 rebasing 8:6215fafa5447 "H2" (tip)
291 $ hg up -q C
385 merging H
292 $ echo 'B2' > B
386 warning: conflicts while merging H! (edit, then use 'hg resolve --mark')
293 $ hg ci -A -m 'B2'
294 adding B
295 $ hg phase --force --secret .
296 $ hg rebase -s . -d B --config ui.merge=internal:fail
297 rebasing 3:17b4880d2402 "B2" (tip)
298 merging B
299 warning: conflicts while merging B! (edit, then use 'hg resolve --mark')
387 unresolved conflicts (see hg resolve, then hg rebase --continue)
300 unresolved conflicts (see hg resolve, then hg rebase --continue)
388 [1]
301 [1]
389 $ hg resolve --all -t internal:local
302 $ hg resolve --all -t internal:local
390 (no more unresolved files)
303 (no more unresolved files)
391 continue: hg rebase --continue
304 continue: hg rebase --continue
392 $ hg rebase -c
305 $ hg rebase -c
393 rebasing 8:6215fafa5447 "H2" (tip)
306 rebasing 3:17b4880d2402 "B2" (tip)
394 note: rebase of 8:6215fafa5447 created no changes to commit
307 note: rebase of 3:17b4880d2402 created no changes to commit
395 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6215fafa5447-5804ebd5-rebase.hg (glob)
308 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/17b4880d2402-1ae1f6cc-rebase.hg (glob)
396 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
309 $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
397 @ 7:draft 'H'
310 o 2:draft 'C'
398 |
311 |
399 | o 6:draft 'G'
312 | @ 1:draft 'B'
400 |/|
401 o | 5:draft 'F'
402 | |
403 | o 4:draft 'E'
404 |/
405 | o 3:draft 'D'
406 | |
407 | o 2:draft 'C'
408 | |
409 | o 1:draft 'B'
410 |/
313 |/
411 o 0:draft 'A'
314 o 0:draft 'A'
412
315
General Comments 0
You need to be logged in to leave comments. Login now