##// END OF EJS Templates
test-rebase-parameters: more tests for revset/opts...
Patrick Mezard -
r16550:0d494a38 stable
parent child Browse files
Show More
@@ -1,392 +1,429 b''
1 $ cat >> $HGRCPATH <<EOF
1 $ cat >> $HGRCPATH <<EOF
2 > [extensions]
2 > [extensions]
3 > graphlog=
3 > graphlog=
4 > rebase=
4 > rebase=
5 >
5 >
6 > [phases]
6 > [phases]
7 > publish=False
7 > publish=False
8 >
8 >
9 > [alias]
9 > [alias]
10 > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
10 > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
11 > EOF
11 > EOF
12
12
13
13
14 $ hg init a
14 $ hg init a
15 $ cd a
15 $ cd a
16 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
16 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
17 adding changesets
17 adding changesets
18 adding manifests
18 adding manifests
19 adding file changes
19 adding file changes
20 added 8 changesets with 7 changes to 7 files (+2 heads)
20 added 8 changesets with 7 changes to 7 files (+2 heads)
21 (run 'hg heads' to see heads, 'hg merge' to merge)
21 (run 'hg heads' to see heads, 'hg merge' to merge)
22 $ hg up tip
22 $ hg up tip
23 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
23 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
24
24
25 $ echo I > I
25 $ echo I > I
26 $ hg ci -AmI
26 $ hg ci -AmI
27 adding I
27 adding I
28
28
29 $ hg tglog
29 $ hg tglog
30 @ 8: 'I'
30 @ 8: 'I'
31 |
31 |
32 o 7: 'H'
32 o 7: 'H'
33 |
33 |
34 | o 6: 'G'
34 | o 6: 'G'
35 |/|
35 |/|
36 o | 5: 'F'
36 o | 5: 'F'
37 | |
37 | |
38 | o 4: 'E'
38 | o 4: 'E'
39 |/
39 |/
40 | o 3: 'D'
40 | o 3: 'D'
41 | |
41 | |
42 | o 2: 'C'
42 | o 2: 'C'
43 | |
43 | |
44 | o 1: 'B'
44 | o 1: 'B'
45 |/
45 |/
46 o 0: 'A'
46 o 0: 'A'
47
47
48 $ cd ..
48 $ cd ..
49
49
50
50
51 These fail:
51 These fail:
52
52
53 $ hg clone -q -u . a a1
53 $ hg clone -q -u . a a1
54 $ cd a1
54 $ cd a1
55
55
56 $ hg rebase -s 8 -d 7
56 $ hg rebase -s 8 -d 7
57 nothing to rebase
57 nothing to rebase
58 [1]
58 [1]
59
59
60 $ hg rebase --continue --abort
60 $ hg rebase --continue --abort
61 abort: cannot use both abort and continue
61 abort: cannot use both abort and continue
62 [255]
62 [255]
63
63
64 $ hg rebase --continue --collapse
64 $ hg rebase --continue --collapse
65 abort: cannot use collapse with continue or abort
65 abort: cannot use collapse with continue or abort
66 [255]
66 [255]
67
67
68 $ hg rebase --continue --dest 4
68 $ hg rebase --continue --dest 4
69 abort: abort and continue do not allow specifying revisions
69 abort: abort and continue do not allow specifying revisions
70 [255]
70 [255]
71
71
72 $ hg rebase --base 5 --source 4
72 $ hg rebase --base 5 --source 4
73 abort: cannot specify both a source and a base
73 abort: cannot specify both a source and a base
74 [255]
74 [255]
75
75
76 $ hg rebase --rev 5 --source 4
77 abort: cannot specify both a revision and a source
78 [255]
79 $ hg rebase --base 5 --rev 4
80 abort: cannot specify both a revision and a base
81 [255]
82
76 $ hg rebase
83 $ hg rebase
77 nothing to rebase
84 nothing to rebase
78 [1]
85 [1]
79
86
80 $ hg up -q 7
87 $ hg up -q 7
81
88
82 $ hg rebase --traceback
89 $ hg rebase --traceback
83 nothing to rebase
90 nothing to rebase
84 [1]
91 [1]
85
92
86
93
87 These work:
94 These work:
88
95
89 Rebase with no arguments (from 3 onto 8):
96 Rebase with no arguments (from 3 onto 8):
90
97
91 $ hg up -q -C 3
98 $ hg up -q -C 3
92
99
93 $ hg rebase
100 $ hg rebase
94 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
101 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
95
102
96 $ hg tglog
103 $ hg tglog
97 @ 8: 'D'
104 @ 8: 'D'
98 |
105 |
99 o 7: 'C'
106 o 7: 'C'
100 |
107 |
101 o 6: 'B'
108 o 6: 'B'
102 |
109 |
103 o 5: 'I'
110 o 5: 'I'
104 |
111 |
105 o 4: 'H'
112 o 4: 'H'
106 |
113 |
107 | o 3: 'G'
114 | o 3: 'G'
108 |/|
115 |/|
109 o | 2: 'F'
116 o | 2: 'F'
110 | |
117 | |
111 | o 1: 'E'
118 | o 1: 'E'
112 |/
119 |/
113 o 0: 'A'
120 o 0: 'A'
114
121
115 Try to rollback after a rebase (fail):
122 Try to rollback after a rebase (fail):
116
123
117 $ hg rollback
124 $ hg rollback
118 no rollback information available
125 no rollback information available
119 [1]
126 [1]
120
127
121 $ cd ..
128 $ cd ..
122
129
123
130
124 Rebase with base == '.' => same as no arguments (from 3 onto 8):
131 Rebase with base == '.' => same as no arguments (from 3 onto 8):
125
132
126 $ hg clone -q -u 3 a a2
133 $ hg clone -q -u 3 a a2
127 $ cd a2
134 $ cd a2
128
135
129 $ hg rebase --base .
136 $ hg rebase --base .
130 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/*-backup.hg (glob)
137 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/*-backup.hg (glob)
131
138
132 $ hg tglog
139 $ hg tglog
133 @ 8: 'D'
140 @ 8: 'D'
134 |
141 |
135 o 7: 'C'
142 o 7: 'C'
136 |
143 |
137 o 6: 'B'
144 o 6: 'B'
138 |
145 |
139 o 5: 'I'
146 o 5: 'I'
140 |
147 |
141 o 4: 'H'
148 o 4: 'H'
142 |
149 |
143 | o 3: 'G'
150 | o 3: 'G'
144 |/|
151 |/|
145 o | 2: 'F'
152 o | 2: 'F'
146 | |
153 | |
147 | o 1: 'E'
154 | o 1: 'E'
148 |/
155 |/
149 o 0: 'A'
156 o 0: 'A'
150
157
151 $ cd ..
158 $ cd ..
152
159
153
160
154 Rebase with dest == `hg branch` => same as no arguments (from 3 onto 8):
161 Rebase with dest == `hg branch` => same as no arguments (from 3 onto 8):
155
162
156 $ hg clone -q -u 3 a a3
163 $ hg clone -q -u 3 a a3
157 $ cd a3
164 $ cd a3
158
165
159 $ hg rebase --dest `hg branch`
166 $ hg rebase --dest `hg branch`
160 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/*-backup.hg (glob)
167 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/*-backup.hg (glob)
161
168
162 $ hg tglog
169 $ hg tglog
163 @ 8: 'D'
170 @ 8: 'D'
164 |
171 |
165 o 7: 'C'
172 o 7: 'C'
166 |
173 |
167 o 6: 'B'
174 o 6: 'B'
168 |
175 |
169 o 5: 'I'
176 o 5: 'I'
170 |
177 |
171 o 4: 'H'
178 o 4: 'H'
172 |
179 |
173 | o 3: 'G'
180 | o 3: 'G'
174 |/|
181 |/|
175 o | 2: 'F'
182 o | 2: 'F'
176 | |
183 | |
177 | o 1: 'E'
184 | o 1: 'E'
178 |/
185 |/
179 o 0: 'A'
186 o 0: 'A'
180
187
181 $ cd ..
188 $ cd ..
182
189
183
190
184 Specify only source (from 2 onto 8):
191 Specify only source (from 2 onto 8):
185
192
186 $ hg clone -q -u . a a4
193 $ hg clone -q -u . a a4
187 $ cd a4
194 $ cd a4
188
195
189 $ hg rebase --source 2
196 $ hg rebase --source 'desc("C")'
190 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/*-backup.hg (glob)
197 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/*-backup.hg (glob)
191
198
192 $ hg tglog
199 $ hg tglog
193 @ 8: 'D'
200 @ 8: 'D'
194 |
201 |
195 o 7: 'C'
202 o 7: 'C'
196 |\
203 |\
197 | o 6: 'I'
204 | o 6: 'I'
198 | |
205 | |
199 | o 5: 'H'
206 | o 5: 'H'
200 | |
207 | |
201 | | o 4: 'G'
208 | | o 4: 'G'
202 | |/|
209 | |/|
203 | o | 3: 'F'
210 | o | 3: 'F'
204 | | |
211 | | |
205 | | o 2: 'E'
212 | | o 2: 'E'
206 | |/
213 | |/
207 o | 1: 'B'
214 o | 1: 'B'
208 |/
215 |/
209 o 0: 'A'
216 o 0: 'A'
210
217
211 $ cd ..
218 $ cd ..
212
219
213
220
214 Specify only dest (from 3 onto 6):
221 Specify only dest (from 3 onto 6):
215
222
216 $ hg clone -q -u 3 a a5
223 $ hg clone -q -u 3 a a5
217 $ cd a5
224 $ cd a5
218
225
219 $ hg rebase --dest 6
226 $ hg rebase --dest 6
220 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/*-backup.hg (glob)
227 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/*-backup.hg (glob)
221
228
222 $ hg tglog
229 $ hg tglog
223 @ 8: 'D'
230 @ 8: 'D'
224 |
231 |
225 o 7: 'C'
232 o 7: 'C'
226 |
233 |
227 o 6: 'B'
234 o 6: 'B'
228 |
235 |
229 | o 5: 'I'
236 | o 5: 'I'
230 | |
237 | |
231 | o 4: 'H'
238 | o 4: 'H'
232 | |
239 | |
233 o | 3: 'G'
240 o | 3: 'G'
234 |\|
241 |\|
235 | o 2: 'F'
242 | o 2: 'F'
236 | |
243 | |
237 o | 1: 'E'
244 o | 1: 'E'
238 |/
245 |/
239 o 0: 'A'
246 o 0: 'A'
240
247
241 $ cd ..
248 $ cd ..
242
249
243
250
244 Specify only base (from 1 onto 8):
251 Specify only base (from 1 onto 8):
245
252
246 $ hg clone -q -u . a a6
253 $ hg clone -q -u . a a6
247 $ cd a6
254 $ cd a6
248
255
249 $ hg rebase --base 3
256 $ hg rebase --base 'desc("D")'
250 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/*-backup.hg (glob)
257 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/*-backup.hg (glob)
251
258
252 $ hg tglog
259 $ hg tglog
253 @ 8: 'D'
260 @ 8: 'D'
254 |
261 |
255 o 7: 'C'
262 o 7: 'C'
256 |
263 |
257 o 6: 'B'
264 o 6: 'B'
258 |
265 |
259 o 5: 'I'
266 o 5: 'I'
260 |
267 |
261 o 4: 'H'
268 o 4: 'H'
262 |
269 |
263 | o 3: 'G'
270 | o 3: 'G'
264 |/|
271 |/|
265 o | 2: 'F'
272 o | 2: 'F'
266 | |
273 | |
267 | o 1: 'E'
274 | o 1: 'E'
268 |/
275 |/
269 o 0: 'A'
276 o 0: 'A'
270
277
271 $ cd ..
278 $ cd ..
272
279
273
280
274 Specify source and dest (from 2 onto 7):
281 Specify source and dest (from 2 onto 7):
275
282
276 $ hg clone -q -u . a a7
283 $ hg clone -q -u . a a7
277 $ cd a7
284 $ cd a7
278
285
279 $ hg rebase --detach --source 2 --dest 7
286 $ hg rebase --detach --source 2 --dest 7
280 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/*-backup.hg (glob)
287 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/*-backup.hg (glob)
281
288
282 $ hg tglog
289 $ hg tglog
283 @ 8: 'D'
290 @ 8: 'D'
284 |
291 |
285 o 7: 'C'
292 o 7: 'C'
286 |
293 |
287 | o 6: 'I'
294 | o 6: 'I'
288 |/
295 |/
289 o 5: 'H'
296 o 5: 'H'
290 |
297 |
291 | o 4: 'G'
298 | o 4: 'G'
292 |/|
299 |/|
293 o | 3: 'F'
300 o | 3: 'F'
294 | |
301 | |
295 | o 2: 'E'
302 | o 2: 'E'
296 |/
303 |/
297 | o 1: 'B'
304 | o 1: 'B'
298 |/
305 |/
299 o 0: 'A'
306 o 0: 'A'
300
307
301 $ cd ..
308 $ cd ..
302
309
303
310
304 Specify base and dest (from 1 onto 7):
311 Specify base and dest (from 1 onto 7):
305
312
306 $ hg clone -q -u . a a8
313 $ hg clone -q -u . a a8
307 $ cd a8
314 $ cd a8
308
315
309 $ hg rebase --base 3 --dest 7
316 $ hg rebase --base 3 --dest 7
310 saved backup bundle to $TESTTMP/a8/.hg/strip-backup/*-backup.hg (glob)
317 saved backup bundle to $TESTTMP/a8/.hg/strip-backup/*-backup.hg (glob)
311
318
312 $ hg tglog
319 $ hg tglog
313 @ 8: 'D'
320 @ 8: 'D'
314 |
321 |
315 o 7: 'C'
322 o 7: 'C'
316 |
323 |
317 o 6: 'B'
324 o 6: 'B'
318 |
325 |
319 | o 5: 'I'
326 | o 5: 'I'
320 |/
327 |/
321 o 4: 'H'
328 o 4: 'H'
322 |
329 |
323 | o 3: 'G'
330 | o 3: 'G'
324 |/|
331 |/|
325 o | 2: 'F'
332 o | 2: 'F'
326 | |
333 | |
327 | o 1: 'E'
334 | o 1: 'E'
328 |/
335 |/
329 o 0: 'A'
336 o 0: 'A'
330
337
331 $ cd ..
338 $ cd ..
332
339
340
341 Specify only revs (from 2 onto 8)
342
343 $ hg clone -q -u . a a9
344 $ cd a9
345
346 $ hg rebase --rev 'desc("C")::'
347 saved backup bundle to $TESTTMP/a9/.hg/strip-backup/*-backup.hg (glob)
348
349 $ hg tglog
350 @ 8: 'D'
351 |
352 o 7: 'C'
353 |\
354 | o 6: 'I'
355 | |
356 | o 5: 'H'
357 | |
358 | | o 4: 'G'
359 | |/|
360 | o | 3: 'F'
361 | | |
362 | | o 2: 'E'
363 | |/
364 o | 1: 'B'
365 |/
366 o 0: 'A'
367
368 $ cd ..
369
333 Test --tool parameter:
370 Test --tool parameter:
334
371
335 $ hg init b
372 $ hg init b
336 $ cd b
373 $ cd b
337
374
338 $ echo c1 > c1
375 $ echo c1 > c1
339 $ hg ci -Am c1
376 $ hg ci -Am c1
340 adding c1
377 adding c1
341
378
342 $ echo c2 > c2
379 $ echo c2 > c2
343 $ hg ci -Am c2
380 $ hg ci -Am c2
344 adding c2
381 adding c2
345
382
346 $ hg up -q 0
383 $ hg up -q 0
347 $ echo c2b > c2
384 $ echo c2b > c2
348 $ hg ci -Am c2b
385 $ hg ci -Am c2b
349 adding c2
386 adding c2
350 created new head
387 created new head
351
388
352 $ cd ..
389 $ cd ..
353
390
354 $ hg clone -q -u . b b1
391 $ hg clone -q -u . b b1
355 $ cd b1
392 $ cd b1
356
393
357 $ hg rebase -s 2 -d 1 --tool internal:local
394 $ hg rebase -s 2 -d 1 --tool internal:local
358 saved backup bundle to $TESTTMP/b1/.hg/strip-backup/*-backup.hg (glob)
395 saved backup bundle to $TESTTMP/b1/.hg/strip-backup/*-backup.hg (glob)
359
396
360 $ hg cat c2
397 $ hg cat c2
361 c2
398 c2
362
399
363 $ cd ..
400 $ cd ..
364
401
365
402
366 $ hg clone -q -u . b b2
403 $ hg clone -q -u . b b2
367 $ cd b2
404 $ cd b2
368
405
369 $ hg rebase -s 2 -d 1 --tool internal:other
406 $ hg rebase -s 2 -d 1 --tool internal:other
370 saved backup bundle to $TESTTMP/b2/.hg/strip-backup/*-backup.hg (glob)
407 saved backup bundle to $TESTTMP/b2/.hg/strip-backup/*-backup.hg (glob)
371
408
372 $ hg cat c2
409 $ hg cat c2
373 c2b
410 c2b
374
411
375 $ cd ..
412 $ cd ..
376
413
377
414
378 $ hg clone -q -u . b b3
415 $ hg clone -q -u . b b3
379 $ cd b3
416 $ cd b3
380
417
381 $ hg rebase -s 2 -d 1 --tool internal:fail
418 $ hg rebase -s 2 -d 1 --tool internal:fail
382 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
419 abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
383 [255]
420 [255]
384
421
385 $ hg resolve -l
422 $ hg resolve -l
386 U c2
423 U c2
387
424
388 $ hg resolve -m c2
425 $ hg resolve -m c2
389 $ hg rebase -c --tool internal:fail
426 $ hg rebase -c --tool internal:fail
390 tool option will be ignored
427 tool option will be ignored
391 saved backup bundle to $TESTTMP/b3/.hg/strip-backup/*-backup.hg (glob)
428 saved backup bundle to $TESTTMP/b3/.hg/strip-backup/*-backup.hg (glob)
392
429
General Comments 0
You need to be logged in to leave comments. Login now