##// END OF EJS Templates
tests: remove third head in some of the 'rebase-parameters' tests...
Pierre-Yves David -
r28100:ab382192 default
parent child Browse files
Show More
@@ -1,525 +1,511 b''
1 1 $ cat >> $HGRCPATH <<EOF
2 2 > [extensions]
3 3 > rebase=
4 4 >
5 5 > [phases]
6 6 > publish=False
7 7 >
8 8 > [alias]
9 9 > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
10 10 > EOF
11 11
12 12
13 13 $ hg init a
14 14 $ cd a
15 15 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
16 16 adding changesets
17 17 adding manifests
18 18 adding file changes
19 19 added 8 changesets with 7 changes to 7 files (+2 heads)
20 20 (run 'hg heads' to see heads, 'hg merge' to merge)
21 21 $ hg up tip
22 22 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
23 23
24 24 $ echo I > I
25 25 $ hg ci -AmI
26 26 adding I
27 27
28 28 $ hg tglog
29 29 @ 8: 'I'
30 30 |
31 31 o 7: 'H'
32 32 |
33 33 | o 6: 'G'
34 34 |/|
35 35 o | 5: 'F'
36 36 | |
37 37 | o 4: 'E'
38 38 |/
39 39 | o 3: 'D'
40 40 | |
41 41 | o 2: 'C'
42 42 | |
43 43 | o 1: 'B'
44 44 |/
45 45 o 0: 'A'
46 46
47 47 $ cd ..
48 48
49 Version with only two heads (to allow default destination to work)
50
51 $ hg clone -q -u . a a2heads -r 3 -r 8
49 52
50 53 These fail:
51 54
52 $ hg clone -q -u . a a1
53 $ cd a1
55 $ hg clone -q -u . a a0
56 $ cd a0
54 57
55 58 $ hg rebase -s 8 -d 7
56 59 nothing to rebase
57 60 [1]
58 61
59 62 $ hg rebase --continue --abort
60 63 abort: cannot use both abort and continue
61 64 [255]
62 65
63 66 $ hg rebase --continue --collapse
64 67 abort: cannot use collapse with continue or abort
65 68 [255]
66 69
67 70 $ hg rebase --continue --dest 4
68 71 abort: abort and continue do not allow specifying revisions
69 72 [255]
70 73
71 74 $ hg rebase --base 5 --source 4
72 75 abort: cannot specify both a source and a base
73 76 [255]
74 77
75 78 $ hg rebase --rev 5 --source 4
76 79 abort: cannot specify both a revision and a source
77 80 [255]
78 81 $ hg rebase --base 5 --rev 4
79 82 abort: cannot specify both a revision and a base
80 83 [255]
81 84
82 85 $ hg rebase --rev '1 & !1'
83 86 empty "rev" revision set - nothing to rebase
84 87 [1]
85 88
86 89 $ hg rebase --source '1 & !1'
87 90 empty "source" revision set - nothing to rebase
88 91 [1]
89 92
90 93 $ hg rebase --base '1 & !1'
91 94 empty "base" revision set - can't compute rebase set
92 95 [1]
93 96
94 97 $ hg rebase
95 98 nothing to rebase - working directory parent is also destination
96 99 [1]
97 100
98 101 $ hg rebase -b.
99 102 nothing to rebase - e7ec4e813ba6 is both "base" and destination
100 103 [1]
101 104
102 105 $ hg up -q 7
103 106
104 107 $ hg rebase --traceback
105 108 nothing to rebase - working directory parent is already an ancestor of destination e7ec4e813ba6
106 109 [1]
107 110
108 111 $ hg rebase -b.
109 112 nothing to rebase - "base" 02de42196ebe is already an ancestor of destination e7ec4e813ba6
110 113 [1]
111 114
112 115 $ hg rebase --dest '1 & !1'
113 116 abort: empty revision set
114 117 [255]
115 118
116 119 These work:
117 120
118 121 Rebase with no arguments (from 3 onto 8):
119 122
123 $ cd ..
124 $ hg clone -q -u . a2heads a1
125 $ cd a1
120 126 $ hg up -q -C 3
121 127
122 128 $ hg rebase
123 129 rebasing 1:42ccdea3bb16 "B"
124 130 rebasing 2:5fddd98957c8 "C"
125 131 rebasing 3:32af7686d403 "D"
126 132 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
127 133
128 134 $ hg tglog
129 @ 8: 'D'
130 |
131 o 7: 'C'
135 @ 6: 'D'
132 136 |
133 o 6: 'B'
137 o 5: 'C'
134 138 |
135 o 5: 'I'
139 o 4: 'B'
136 140 |
137 o 4: 'H'
141 o 3: 'I'
138 142 |
139 | o 3: 'G'
140 |/|
141 o | 2: 'F'
142 | |
143 | o 1: 'E'
144 |/
143 o 2: 'H'
144 |
145 o 1: 'F'
146 |
145 147 o 0: 'A'
146 148
147 149 Try to rollback after a rebase (fail):
148 150
149 151 $ hg rollback
150 152 no rollback information available
151 153 [1]
152 154
153 155 $ cd ..
154 156
155 157 Rebase with base == '.' => same as no arguments (from 3 onto 8):
156 158
157 $ hg clone -q -u 3 a a2
159 $ hg clone -q -u 3 a2heads a2
158 160 $ cd a2
159 161
160 162 $ hg rebase --base .
161 163 rebasing 1:42ccdea3bb16 "B"
162 164 rebasing 2:5fddd98957c8 "C"
163 165 rebasing 3:32af7686d403 "D"
164 166 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
165 167
166 168 $ hg tglog
167 @ 8: 'D'
168 |
169 o 7: 'C'
169 @ 6: 'D'
170 170 |
171 o 6: 'B'
171 o 5: 'C'
172 172 |
173 o 5: 'I'
173 o 4: 'B'
174 174 |
175 o 4: 'H'
175 o 3: 'I'
176 176 |
177 | o 3: 'G'
178 |/|
179 o | 2: 'F'
180 | |
181 | o 1: 'E'
182 |/
177 o 2: 'H'
178 |
179 o 1: 'F'
180 |
183 181 o 0: 'A'
184 182
185 183 $ cd ..
186 184
187 185
188 186 Rebase with dest == branch(.) => same as no arguments (from 3 onto 8):
189 187
190 188 $ hg clone -q -u 3 a a3
191 189 $ cd a3
192 190
193 191 $ hg rebase --dest 'branch(.)'
194 192 rebasing 1:42ccdea3bb16 "B"
195 193 rebasing 2:5fddd98957c8 "C"
196 194 rebasing 3:32af7686d403 "D"
197 195 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
198 196
199 197 $ hg tglog
200 198 @ 8: 'D'
201 199 |
202 200 o 7: 'C'
203 201 |
204 202 o 6: 'B'
205 203 |
206 204 o 5: 'I'
207 205 |
208 206 o 4: 'H'
209 207 |
210 208 | o 3: 'G'
211 209 |/|
212 210 o | 2: 'F'
213 211 | |
214 212 | o 1: 'E'
215 213 |/
216 214 o 0: 'A'
217 215
218 216 $ cd ..
219 217
220 218
221 219 Specify only source (from 2 onto 8):
222 220
223 $ hg clone -q -u . a a4
221 $ hg clone -q -u . a2heads a4
224 222 $ cd a4
225 223
226 224 $ hg rebase --source 'desc("C")'
227 225 rebasing 2:5fddd98957c8 "C"
228 226 rebasing 3:32af7686d403 "D"
229 227 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
230 228
231 229 $ hg tglog
232 o 8: 'D'
230 o 6: 'D'
233 231 |
234 o 7: 'C'
235 |
236 @ 6: 'I'
232 o 5: 'C'
237 233 |
238 o 5: 'H'
234 @ 4: 'I'
239 235 |
240 | o 4: 'G'
241 |/|
242 o | 3: 'F'
243 | |
244 | o 2: 'E'
245 |/
236 o 3: 'H'
237 |
238 o 2: 'F'
239 |
246 240 | o 1: 'B'
247 241 |/
248 242 o 0: 'A'
249 243
250 244 $ cd ..
251 245
252 246
253 247 Specify only dest (from 3 onto 6):
254 248
255 249 $ hg clone -q -u 3 a a5
256 250 $ cd a5
257 251
258 252 $ hg rebase --dest 6
259 253 rebasing 1:42ccdea3bb16 "B"
260 254 rebasing 2:5fddd98957c8 "C"
261 255 rebasing 3:32af7686d403 "D"
262 256 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
263 257
264 258 $ hg tglog
265 259 @ 8: 'D'
266 260 |
267 261 o 7: 'C'
268 262 |
269 263 o 6: 'B'
270 264 |
271 265 | o 5: 'I'
272 266 | |
273 267 | o 4: 'H'
274 268 | |
275 269 o | 3: 'G'
276 270 |\|
277 271 | o 2: 'F'
278 272 | |
279 273 o | 1: 'E'
280 274 |/
281 275 o 0: 'A'
282 276
283 277 $ cd ..
284 278
285 279
286 280 Specify only base (from 1 onto 8):
287 281
288 $ hg clone -q -u . a a6
282 $ hg clone -q -u . a2heads a6
289 283 $ cd a6
290 284
291 285 $ hg rebase --base 'desc("D")'
292 286 rebasing 1:42ccdea3bb16 "B"
293 287 rebasing 2:5fddd98957c8 "C"
294 288 rebasing 3:32af7686d403 "D"
295 289 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
296 290
297 291 $ hg tglog
298 o 8: 'D'
299 |
300 o 7: 'C'
292 o 6: 'D'
301 293 |
302 o 6: 'B'
294 o 5: 'C'
303 295 |
304 @ 5: 'I'
296 o 4: 'B'
305 297 |
306 o 4: 'H'
298 @ 3: 'I'
307 299 |
308 | o 3: 'G'
309 |/|
310 o | 2: 'F'
311 | |
312 | o 1: 'E'
313 |/
300 o 2: 'H'
301 |
302 o 1: 'F'
303 |
314 304 o 0: 'A'
315 305
316 306 $ cd ..
317 307
318 308
319 309 Specify source and dest (from 2 onto 7):
320 310
321 311 $ hg clone -q -u . a a7
322 312 $ cd a7
323 313
324 314 $ hg rebase --source 2 --dest 7
325 315 rebasing 2:5fddd98957c8 "C"
326 316 rebasing 3:32af7686d403 "D"
327 317 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
328 318
329 319 $ hg tglog
330 320 o 8: 'D'
331 321 |
332 322 o 7: 'C'
333 323 |
334 324 | @ 6: 'I'
335 325 |/
336 326 o 5: 'H'
337 327 |
338 328 | o 4: 'G'
339 329 |/|
340 330 o | 3: 'F'
341 331 | |
342 332 | o 2: 'E'
343 333 |/
344 334 | o 1: 'B'
345 335 |/
346 336 o 0: 'A'
347 337
348 338 $ cd ..
349 339
350 340
351 341 Specify base and dest (from 1 onto 7):
352 342
353 343 $ hg clone -q -u . a a8
354 344 $ cd a8
355 345
356 346 $ hg rebase --base 3 --dest 7
357 347 rebasing 1:42ccdea3bb16 "B"
358 348 rebasing 2:5fddd98957c8 "C"
359 349 rebasing 3:32af7686d403 "D"
360 350 saved backup bundle to $TESTTMP/a8/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
361 351
362 352 $ hg tglog
363 353 o 8: 'D'
364 354 |
365 355 o 7: 'C'
366 356 |
367 357 o 6: 'B'
368 358 |
369 359 | @ 5: 'I'
370 360 |/
371 361 o 4: 'H'
372 362 |
373 363 | o 3: 'G'
374 364 |/|
375 365 o | 2: 'F'
376 366 | |
377 367 | o 1: 'E'
378 368 |/
379 369 o 0: 'A'
380 370
381 371 $ cd ..
382 372
383 373
384 374 Specify only revs (from 2 onto 8)
385 375
386 $ hg clone -q -u . a a9
376 $ hg clone -q -u . a2heads a9
387 377 $ cd a9
388 378
389 379 $ hg rebase --rev 'desc("C")::'
390 380 rebasing 2:5fddd98957c8 "C"
391 381 rebasing 3:32af7686d403 "D"
392 382 saved backup bundle to $TESTTMP/a9/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
393 383
394 384 $ hg tglog
395 o 8: 'D'
385 o 6: 'D'
396 386 |
397 o 7: 'C'
398 |
399 @ 6: 'I'
387 o 5: 'C'
400 388 |
401 o 5: 'H'
389 @ 4: 'I'
402 390 |
403 | o 4: 'G'
404 |/|
405 o | 3: 'F'
406 | |
407 | o 2: 'E'
408 |/
391 o 3: 'H'
392 |
393 o 2: 'F'
394 |
409 395 | o 1: 'B'
410 396 |/
411 397 o 0: 'A'
412 398
413 399 $ cd ..
414 400
415 401 Rebasing both a single revision and a merge in one command
416 402
417 403 $ hg clone -q -u . a aX
418 404 $ cd aX
419 405 $ hg rebase -r 3 -r 6
420 406 rebasing 3:32af7686d403 "D"
421 407 rebasing 6:eea13746799a "G"
422 408 saved backup bundle to $TESTTMP/aX/.hg/strip-backup/eea13746799a-ad273fd6-backup.hg (glob)
423 409 $ cd ..
424 410
425 411 Test --tool parameter:
426 412
427 413 $ hg init b
428 414 $ cd b
429 415
430 416 $ echo c1 > c1
431 417 $ hg ci -Am c1
432 418 adding c1
433 419
434 420 $ echo c2 > c2
435 421 $ hg ci -Am c2
436 422 adding c2
437 423
438 424 $ hg up -q 0
439 425 $ echo c2b > c2
440 426 $ hg ci -Am c2b
441 427 adding c2
442 428 created new head
443 429
444 430 $ cd ..
445 431
446 432 $ hg clone -q -u . b b1
447 433 $ cd b1
448 434
449 435 $ hg rebase -s 2 -d 1 --tool internal:local
450 436 rebasing 2:e4e3f3546619 "c2b" (tip)
451 437 note: rebase of 2:e4e3f3546619 created no changes to commit
452 438 saved backup bundle to $TESTTMP/b1/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
453 439
454 440 $ hg cat c2
455 441 c2
456 442
457 443 $ cd ..
458 444
459 445
460 446 $ hg clone -q -u . b b2
461 447 $ cd b2
462 448
463 449 $ hg rebase -s 2 -d 1 --tool internal:other
464 450 rebasing 2:e4e3f3546619 "c2b" (tip)
465 451 saved backup bundle to $TESTTMP/b2/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
466 452
467 453 $ hg cat c2
468 454 c2b
469 455
470 456 $ cd ..
471 457
472 458
473 459 $ hg clone -q -u . b b3
474 460 $ cd b3
475 461
476 462 $ hg rebase -s 2 -d 1 --tool internal:fail
477 463 rebasing 2:e4e3f3546619 "c2b" (tip)
478 464 unresolved conflicts (see hg resolve, then hg rebase --continue)
479 465 [1]
480 466
481 467 $ hg summary
482 468 parent: 1:56daeba07f4b
483 469 c2
484 470 parent: 2:e4e3f3546619 tip
485 471 c2b
486 472 branch: default
487 473 commit: 1 modified, 1 unresolved (merge)
488 474 update: (current)
489 475 phases: 3 draft
490 476 rebase: 0 rebased, 1 remaining (rebase --continue)
491 477
492 478 $ hg resolve -l
493 479 U c2
494 480
495 481 $ hg resolve -m c2
496 482 (no more unresolved files)
497 483 continue: hg rebase --continue
498 484 $ hg rebase -c --tool internal:fail
499 485 rebasing 2:e4e3f3546619 "c2b" (tip)
500 486 note: rebase of 2:e4e3f3546619 created no changes to commit
501 487 saved backup bundle to $TESTTMP/b3/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
502 488
503 489 $ hg rebase -i
504 490 abort: interactive history editing is supported by the 'histedit' extension (see "hg --config extensions.histedit= help -e histedit")
505 491 [255]
506 492
507 493 $ hg rebase --interactive
508 494 abort: interactive history editing is supported by the 'histedit' extension (see "hg --config extensions.histedit= help -e histedit")
509 495 [255]
510 496
511 497 $ cd ..
512 498
513 499 No common ancestor
514 500
515 501 $ hg init separaterepo
516 502 $ cd separaterepo
517 503 $ touch a
518 504 $ hg commit -Aqm a
519 505 $ hg up -q null
520 506 $ touch b
521 507 $ hg commit -Aqm b
522 508 $ hg rebase -d 0
523 509 nothing to rebase from d7486e00c6f1 to 3903775176ed
524 510 [1]
525 511 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now