##// END OF EJS Templates
test-strip: add glob for Windows
Matt Harbison -
r26429:703d331c default
parent child Browse files
Show More
@@ -1,814 +1,814 b''
1 1 $ echo "[extensions]" >> $HGRCPATH
2 2 $ echo "strip=" >> $HGRCPATH
3 3
4 4 $ restore() {
5 5 > hg unbundle -q .hg/strip-backup/*
6 6 > rm .hg/strip-backup/*
7 7 > }
8 8 $ teststrip() {
9 9 > hg up -C $1
10 10 > echo % before update $1, strip $2
11 11 > hg parents
12 12 > hg --traceback strip $2
13 13 > echo % after update $1, strip $2
14 14 > hg parents
15 15 > restore
16 16 > }
17 17
18 18 $ hg init test
19 19 $ cd test
20 20
21 21 $ echo foo > bar
22 22 $ hg ci -Ama
23 23 adding bar
24 24
25 25 $ echo more >> bar
26 26 $ hg ci -Amb
27 27
28 28 $ echo blah >> bar
29 29 $ hg ci -Amc
30 30
31 31 $ hg up 1
32 32 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
33 33 $ echo blah >> bar
34 34 $ hg ci -Amd
35 35 created new head
36 36
37 37 $ echo final >> bar
38 38 $ hg ci -Ame
39 39
40 40 $ hg log
41 41 changeset: 4:443431ffac4f
42 42 tag: tip
43 43 user: test
44 44 date: Thu Jan 01 00:00:00 1970 +0000
45 45 summary: e
46 46
47 47 changeset: 3:65bd5f99a4a3
48 48 parent: 1:ef3a871183d7
49 49 user: test
50 50 date: Thu Jan 01 00:00:00 1970 +0000
51 51 summary: d
52 52
53 53 changeset: 2:264128213d29
54 54 user: test
55 55 date: Thu Jan 01 00:00:00 1970 +0000
56 56 summary: c
57 57
58 58 changeset: 1:ef3a871183d7
59 59 user: test
60 60 date: Thu Jan 01 00:00:00 1970 +0000
61 61 summary: b
62 62
63 63 changeset: 0:9ab35a2d17cb
64 64 user: test
65 65 date: Thu Jan 01 00:00:00 1970 +0000
66 66 summary: a
67 67
68 68
69 69 $ teststrip 4 4
70 70 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
71 71 % before update 4, strip 4
72 72 changeset: 4:443431ffac4f
73 73 tag: tip
74 74 user: test
75 75 date: Thu Jan 01 00:00:00 1970 +0000
76 76 summary: e
77 77
78 78 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
79 79 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
80 80 % after update 4, strip 4
81 81 changeset: 3:65bd5f99a4a3
82 82 tag: tip
83 83 parent: 1:ef3a871183d7
84 84 user: test
85 85 date: Thu Jan 01 00:00:00 1970 +0000
86 86 summary: d
87 87
88 88 $ teststrip 4 3
89 89 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
90 90 % before update 4, strip 3
91 91 changeset: 4:443431ffac4f
92 92 tag: tip
93 93 user: test
94 94 date: Thu Jan 01 00:00:00 1970 +0000
95 95 summary: e
96 96
97 97 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
98 98 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
99 99 % after update 4, strip 3
100 100 changeset: 1:ef3a871183d7
101 101 user: test
102 102 date: Thu Jan 01 00:00:00 1970 +0000
103 103 summary: b
104 104
105 105 $ teststrip 1 4
106 106 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
107 107 % before update 1, strip 4
108 108 changeset: 1:ef3a871183d7
109 109 user: test
110 110 date: Thu Jan 01 00:00:00 1970 +0000
111 111 summary: b
112 112
113 113 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
114 114 % after update 1, strip 4
115 115 changeset: 1:ef3a871183d7
116 116 user: test
117 117 date: Thu Jan 01 00:00:00 1970 +0000
118 118 summary: b
119 119
120 120 $ teststrip 4 2
121 121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
122 122 % before update 4, strip 2
123 123 changeset: 4:443431ffac4f
124 124 tag: tip
125 125 user: test
126 126 date: Thu Jan 01 00:00:00 1970 +0000
127 127 summary: e
128 128
129 129 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
130 130 % after update 4, strip 2
131 131 changeset: 3:443431ffac4f
132 132 tag: tip
133 133 user: test
134 134 date: Thu Jan 01 00:00:00 1970 +0000
135 135 summary: e
136 136
137 137 $ teststrip 4 1
138 138 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
139 139 % before update 4, strip 1
140 140 changeset: 4:264128213d29
141 141 tag: tip
142 142 parent: 1:ef3a871183d7
143 143 user: test
144 144 date: Thu Jan 01 00:00:00 1970 +0000
145 145 summary: c
146 146
147 147 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
148 148 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
149 149 % after update 4, strip 1
150 150 changeset: 0:9ab35a2d17cb
151 151 tag: tip
152 152 user: test
153 153 date: Thu Jan 01 00:00:00 1970 +0000
154 154 summary: a
155 155
156 156 $ teststrip null 4
157 157 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
158 158 % before update null, strip 4
159 159 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
160 160 % after update null, strip 4
161 161
162 162 $ hg log
163 163 changeset: 4:264128213d29
164 164 tag: tip
165 165 parent: 1:ef3a871183d7
166 166 user: test
167 167 date: Thu Jan 01 00:00:00 1970 +0000
168 168 summary: c
169 169
170 170 changeset: 3:443431ffac4f
171 171 user: test
172 172 date: Thu Jan 01 00:00:00 1970 +0000
173 173 summary: e
174 174
175 175 changeset: 2:65bd5f99a4a3
176 176 user: test
177 177 date: Thu Jan 01 00:00:00 1970 +0000
178 178 summary: d
179 179
180 180 changeset: 1:ef3a871183d7
181 181 user: test
182 182 date: Thu Jan 01 00:00:00 1970 +0000
183 183 summary: b
184 184
185 185 changeset: 0:9ab35a2d17cb
186 186 user: test
187 187 date: Thu Jan 01 00:00:00 1970 +0000
188 188 summary: a
189 189
190 190 $ hg up -C 4
191 191 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
192 192 $ hg parents
193 193 changeset: 4:264128213d29
194 194 tag: tip
195 195 parent: 1:ef3a871183d7
196 196 user: test
197 197 date: Thu Jan 01 00:00:00 1970 +0000
198 198 summary: c
199 199
200 200
201 201 $ hg --traceback strip 4
202 202 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
203 203 saved backup bundle to $TESTTMP/test/.hg/strip-backup/264128213d29-0b39d6bf-backup.hg (glob)
204 204 $ hg parents
205 205 changeset: 1:ef3a871183d7
206 206 user: test
207 207 date: Thu Jan 01 00:00:00 1970 +0000
208 208 summary: b
209 209
210 210 $ hg debugbundle .hg/strip-backup/*
211 211 264128213d290d868c54642d13aeaa3675551a78
212 212 $ hg pull .hg/strip-backup/*
213 213 pulling from .hg/strip-backup/264128213d29-0b39d6bf-backup.hg
214 214 searching for changes
215 215 adding changesets
216 216 adding manifests
217 217 adding file changes
218 218 added 1 changesets with 0 changes to 0 files (+1 heads)
219 219 (run 'hg heads' to see heads, 'hg merge' to merge)
220 220 $ rm .hg/strip-backup/*
221 221 $ hg log --graph
222 222 o changeset: 4:264128213d29
223 223 | tag: tip
224 224 | parent: 1:ef3a871183d7
225 225 | user: test
226 226 | date: Thu Jan 01 00:00:00 1970 +0000
227 227 | summary: c
228 228 |
229 229 | o changeset: 3:443431ffac4f
230 230 | | user: test
231 231 | | date: Thu Jan 01 00:00:00 1970 +0000
232 232 | | summary: e
233 233 | |
234 234 | o changeset: 2:65bd5f99a4a3
235 235 |/ user: test
236 236 | date: Thu Jan 01 00:00:00 1970 +0000
237 237 | summary: d
238 238 |
239 239 @ changeset: 1:ef3a871183d7
240 240 | user: test
241 241 | date: Thu Jan 01 00:00:00 1970 +0000
242 242 | summary: b
243 243 |
244 244 o changeset: 0:9ab35a2d17cb
245 245 user: test
246 246 date: Thu Jan 01 00:00:00 1970 +0000
247 247 summary: a
248 248
249 249 $ hg up -C 2
250 250 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
251 251 $ hg merge 4
252 252 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
253 253 (branch merge, don't forget to commit)
254 254
255 255 before strip of merge parent
256 256
257 257 $ hg parents
258 258 changeset: 2:65bd5f99a4a3
259 259 user: test
260 260 date: Thu Jan 01 00:00:00 1970 +0000
261 261 summary: d
262 262
263 263 changeset: 4:264128213d29
264 264 tag: tip
265 265 parent: 1:ef3a871183d7
266 266 user: test
267 267 date: Thu Jan 01 00:00:00 1970 +0000
268 268 summary: c
269 269
270 270 $ hg strip 4
271 271 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
272 272 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
273 273
274 274 after strip of merge parent
275 275
276 276 $ hg parents
277 277 changeset: 1:ef3a871183d7
278 278 user: test
279 279 date: Thu Jan 01 00:00:00 1970 +0000
280 280 summary: b
281 281
282 282 $ restore
283 283
284 284 $ hg up
285 285 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
286 286 $ hg log -G
287 287 @ changeset: 4:264128213d29
288 288 | tag: tip
289 289 | parent: 1:ef3a871183d7
290 290 | user: test
291 291 | date: Thu Jan 01 00:00:00 1970 +0000
292 292 | summary: c
293 293 |
294 294 | o changeset: 3:443431ffac4f
295 295 | | user: test
296 296 | | date: Thu Jan 01 00:00:00 1970 +0000
297 297 | | summary: e
298 298 | |
299 299 | o changeset: 2:65bd5f99a4a3
300 300 |/ user: test
301 301 | date: Thu Jan 01 00:00:00 1970 +0000
302 302 | summary: d
303 303 |
304 304 o changeset: 1:ef3a871183d7
305 305 | user: test
306 306 | date: Thu Jan 01 00:00:00 1970 +0000
307 307 | summary: b
308 308 |
309 309 o changeset: 0:9ab35a2d17cb
310 310 user: test
311 311 date: Thu Jan 01 00:00:00 1970 +0000
312 312 summary: a
313 313
314 314
315 315 2 is parent of 3, only one strip should happen
316 316
317 317 $ hg strip "roots(2)" 3
318 318 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
319 319 $ hg log -G
320 320 @ changeset: 2:264128213d29
321 321 | tag: tip
322 322 | user: test
323 323 | date: Thu Jan 01 00:00:00 1970 +0000
324 324 | summary: c
325 325 |
326 326 o changeset: 1:ef3a871183d7
327 327 | user: test
328 328 | date: Thu Jan 01 00:00:00 1970 +0000
329 329 | summary: b
330 330 |
331 331 o changeset: 0:9ab35a2d17cb
332 332 user: test
333 333 date: Thu Jan 01 00:00:00 1970 +0000
334 334 summary: a
335 335
336 336 $ restore
337 337 $ hg log -G
338 338 o changeset: 4:443431ffac4f
339 339 | tag: tip
340 340 | user: test
341 341 | date: Thu Jan 01 00:00:00 1970 +0000
342 342 | summary: e
343 343 |
344 344 o changeset: 3:65bd5f99a4a3
345 345 | parent: 1:ef3a871183d7
346 346 | user: test
347 347 | date: Thu Jan 01 00:00:00 1970 +0000
348 348 | summary: d
349 349 |
350 350 | @ changeset: 2:264128213d29
351 351 |/ user: test
352 352 | date: Thu Jan 01 00:00:00 1970 +0000
353 353 | summary: c
354 354 |
355 355 o changeset: 1:ef3a871183d7
356 356 | user: test
357 357 | date: Thu Jan 01 00:00:00 1970 +0000
358 358 | summary: b
359 359 |
360 360 o changeset: 0:9ab35a2d17cb
361 361 user: test
362 362 date: Thu Jan 01 00:00:00 1970 +0000
363 363 summary: a
364 364
365 365
366 366 2 different branches: 2 strips
367 367
368 368 $ hg strip 2 4
369 369 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
370 370 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
371 371 $ hg log -G
372 372 o changeset: 2:65bd5f99a4a3
373 373 | tag: tip
374 374 | user: test
375 375 | date: Thu Jan 01 00:00:00 1970 +0000
376 376 | summary: d
377 377 |
378 378 @ changeset: 1:ef3a871183d7
379 379 | user: test
380 380 | date: Thu Jan 01 00:00:00 1970 +0000
381 381 | summary: b
382 382 |
383 383 o changeset: 0:9ab35a2d17cb
384 384 user: test
385 385 date: Thu Jan 01 00:00:00 1970 +0000
386 386 summary: a
387 387
388 388 $ restore
389 389
390 390 2 different branches and a common ancestor: 1 strip
391 391
392 392 $ hg strip 1 "2|4"
393 393 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
394 394 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
395 395 $ restore
396 396
397 397 verify fncache is kept up-to-date
398 398
399 399 $ touch a
400 400 $ hg ci -qAm a
401 401 $ cat .hg/store/fncache | sort
402 402 data/a.i
403 403 data/bar.i
404 404 $ hg strip tip
405 405 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
406 406 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
407 407 $ cat .hg/store/fncache
408 408 data/bar.i
409 409
410 410 stripping an empty revset
411 411
412 412 $ hg strip "1 and not 1"
413 413 abort: empty revision set
414 414 [255]
415 415
416 416 remove branchy history for qimport tests
417 417
418 418 $ hg strip 3
419 419 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
420 420
421 421
422 422 strip of applied mq should cleanup status file
423 423
424 424 $ echo "mq=" >> $HGRCPATH
425 425 $ hg up -C 3
426 426 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
427 427 $ echo fooagain >> bar
428 428 $ hg ci -mf
429 429 $ hg qimport -r tip:2
430 430
431 431 applied patches before strip
432 432
433 433 $ hg qapplied
434 434 2.diff
435 435 3.diff
436 436 4.diff
437 437
438 438 stripping revision in queue
439 439
440 440 $ hg strip 3
441 441 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
442 442 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
443 443
444 444 applied patches after stripping rev in queue
445 445
446 446 $ hg qapplied
447 447 2.diff
448 448
449 449 stripping ancestor of queue
450 450
451 451 $ hg strip 1
452 452 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
453 453 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
454 454
455 455 applied patches after stripping ancestor of queue
456 456
457 457 $ hg qapplied
458 458
459 459 Verify strip protects against stripping wc parent when there are uncommitted mods
460 460
461 461 $ echo b > b
462 462 $ echo bb > bar
463 463 $ hg add b
464 464 $ hg ci -m 'b'
465 465 $ hg log --graph
466 466 @ changeset: 1:76dcf9fab855
467 467 | tag: tip
468 468 | user: test
469 469 | date: Thu Jan 01 00:00:00 1970 +0000
470 470 | summary: b
471 471 |
472 472 o changeset: 0:9ab35a2d17cb
473 473 user: test
474 474 date: Thu Jan 01 00:00:00 1970 +0000
475 475 summary: a
476 476
477 477 $ hg up 0
478 478 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
479 479 $ echo c > bar
480 480 $ hg up -t false
481 481 merging bar
482 482 merging bar failed!
483 483 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
484 484 use 'hg resolve' to retry unresolved file merges
485 485 [1]
486 486 $ hg sum
487 487 parent: 1:76dcf9fab855 tip
488 488 b
489 489 branch: default
490 490 commit: 1 modified, 1 unknown, 1 unresolved
491 491 update: (current)
492 492 phases: 2 draft
493 493 mq: 3 unapplied
494 494
495 495 $ echo c > b
496 496 $ hg strip tip
497 497 abort: local changes found
498 498 [255]
499 499 $ hg strip tip --keep
500 500 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
501 501 $ hg log --graph
502 502 @ changeset: 0:9ab35a2d17cb
503 503 tag: tip
504 504 user: test
505 505 date: Thu Jan 01 00:00:00 1970 +0000
506 506 summary: a
507 507
508 508 $ hg status
509 509 M bar
510 510 ? b
511 511 ? bar.orig
512 512
513 513 $ rm bar.orig
514 514 $ hg sum
515 515 parent: 0:9ab35a2d17cb tip
516 516 a
517 517 branch: default
518 518 commit: 1 modified, 1 unknown
519 519 update: (current)
520 520 phases: 1 draft
521 521 mq: 3 unapplied
522 522
523 523 Strip adds, removes, modifies with --keep
524 524
525 525 $ touch b
526 526 $ hg add b
527 527 $ hg commit -mb
528 528 $ touch c
529 529
530 530 ... with a clean working dir
531 531
532 532 $ hg add c
533 533 $ hg rm bar
534 534 $ hg commit -mc
535 535 $ hg status
536 536 $ hg strip --keep tip
537 537 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
538 538 $ hg status
539 539 ! bar
540 540 ? c
541 541
542 542 ... with a dirty working dir
543 543
544 544 $ hg add c
545 545 $ hg rm bar
546 546 $ hg commit -mc
547 547 $ hg status
548 548 $ echo b > b
549 549 $ echo d > d
550 550 $ hg strip --keep tip
551 551 saved backup bundle to $TESTTMP/test/.hg/strip-backup/57e364c8a475-4cfed93c-backup.hg (glob)
552 552 $ hg status
553 553 M b
554 554 ! bar
555 555 ? c
556 556 ? d
557 557 $ cd ..
558 558
559 559 stripping many nodes on a complex graph (issue3299)
560 560
561 561 $ hg init issue3299
562 562 $ cd issue3299
563 563 $ hg debugbuilddag '@a.:a@b.:b.:x<a@a.:a<b@b.:b<a@a.:a'
564 564 $ hg strip 'not ancestors(x)'
565 565 saved backup bundle to $TESTTMP/issue3299/.hg/strip-backup/*-backup.hg (glob)
566 566
567 567 test hg strip -B bookmark
568 568
569 569 $ cd ..
570 570 $ hg init bookmarks
571 571 $ cd bookmarks
572 572 $ hg debugbuilddag '..<2.*1/2:m<2+3:c<m+3:a<2.:b'
573 573 $ hg bookmark -r 'a' 'todelete'
574 574 $ hg bookmark -r 'b' 'B'
575 575 $ hg bookmark -r 'b' 'nostrip'
576 576 $ hg bookmark -r 'c' 'delete'
577 577 $ hg up -C todelete
578 578 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
579 579 (activating bookmark todelete)
580 580 $ hg strip -B nostrip
581 581 bookmark 'nostrip' deleted
582 582 abort: empty revision set
583 583 [255]
584 584 $ hg strip -B todelete
585 585 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
586 586 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
587 587 bookmark 'todelete' deleted
588 588 $ hg id -ir dcbb326fdec2
589 589 abort: unknown revision 'dcbb326fdec2'!
590 590 [255]
591 591 $ hg id -ir d62d843c9a01
592 592 d62d843c9a01
593 593 $ hg bookmarks
594 594 B 9:ff43616e5d0f
595 595 delete 6:2702dd0c91e7
596 596 $ hg strip -B delete
597 597 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
598 598 bookmark 'delete' deleted
599 599 $ hg id -ir 6:2702dd0c91e7
600 600 abort: unknown revision '2702dd0c91e7'!
601 601 [255]
602 602 $ hg update B
603 603 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
604 604 (activating bookmark B)
605 605 $ echo a > a
606 606 $ hg add a
607 607 $ hg strip -B B
608 608 abort: local changes found
609 609 [255]
610 610 $ hg bookmarks
611 611 * B 6:ff43616e5d0f
612 612
613 613 Make sure no one adds back a -b option:
614 614
615 615 $ hg strip -b tip
616 616 hg strip: option -b not recognized
617 617 hg strip [-k] [-f] [-n] [-B bookmark] [-r] REV...
618 618
619 619 strip changesets and all their descendants from the repository
620 620
621 621 (use "hg help -e strip" to show help for the strip extension)
622 622
623 623 options ([+] can be repeated):
624 624
625 625 -r --rev REV [+] strip specified revision (optional, can specify revisions
626 626 without this option)
627 627 -f --force force removal of changesets, discard uncommitted changes
628 628 (no backup)
629 629 --no-backup no backups
630 630 -k --keep do not modify working directory during strip
631 631 -B --bookmark VALUE remove revs only reachable from given bookmark
632 632 --mq operate on patch repository
633 633
634 634 (use "hg strip -h" to show more help)
635 635 [255]
636 636
637 637 $ cd ..
638 638
639 639 Verify bundles don't get overwritten:
640 640
641 641 $ hg init doublebundle
642 642 $ cd doublebundle
643 643 $ touch a
644 644 $ hg commit -Aqm a
645 645 $ touch b
646 646 $ hg commit -Aqm b
647 647 $ hg strip -r 0
648 648 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
649 649 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-e68910bd-backup.hg (glob)
650 650 $ ls .hg/strip-backup
651 651 3903775176ed-e68910bd-backup.hg
652 652 $ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg
653 653 $ hg strip -r 0
654 654 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg (glob)
655 655 $ ls .hg/strip-backup
656 656 3903775176ed-54390173-backup.hg
657 657 3903775176ed-e68910bd-backup.hg
658 658 $ cd ..
659 659
660 660 Test that we only bundle the stripped changesets (issue4736)
661 661 ------------------------------------------------------------
662 662
663 663 initialization (previous repo is empty anyway)
664 664
665 665 $ hg init issue4736
666 666 $ cd issue4736
667 667 $ echo a > a
668 668 $ hg add a
669 669 $ hg commit -m commitA
670 670 $ echo b > b
671 671 $ hg add b
672 672 $ hg commit -m commitB
673 673 $ echo c > c
674 674 $ hg add c
675 675 $ hg commit -m commitC
676 676 $ hg up 'desc(commitB)'
677 677 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
678 678 $ echo d > d
679 679 $ hg add d
680 680 $ hg commit -m commitD
681 681 created new head
682 682 $ hg up 'desc(commitC)'
683 683 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
684 684 $ hg merge 'desc(commitD)'
685 685 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
686 686 (branch merge, don't forget to commit)
687 687 $ hg ci -m 'mergeCD'
688 688 $ hg log -G
689 689 @ changeset: 4:d8db9d137221
690 690 |\ tag: tip
691 691 | | parent: 2:5c51d8d6557d
692 692 | | parent: 3:6625a5168474
693 693 | | user: test
694 694 | | date: Thu Jan 01 00:00:00 1970 +0000
695 695 | | summary: mergeCD
696 696 | |
697 697 | o changeset: 3:6625a5168474
698 698 | | parent: 1:eca11cf91c71
699 699 | | user: test
700 700 | | date: Thu Jan 01 00:00:00 1970 +0000
701 701 | | summary: commitD
702 702 | |
703 703 o | changeset: 2:5c51d8d6557d
704 704 |/ user: test
705 705 | date: Thu Jan 01 00:00:00 1970 +0000
706 706 | summary: commitC
707 707 |
708 708 o changeset: 1:eca11cf91c71
709 709 | user: test
710 710 | date: Thu Jan 01 00:00:00 1970 +0000
711 711 | summary: commitB
712 712 |
713 713 o changeset: 0:105141ef12d0
714 714 user: test
715 715 date: Thu Jan 01 00:00:00 1970 +0000
716 716 summary: commitA
717 717
718 718
719 719 Check bundle behavior:
720 720
721 721 $ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg
722 722 2 changesets found
723 723 $ hg log -r 'bundle()' -R ../issue4736.hg
724 724 changeset: 3:6625a5168474
725 725 parent: 1:eca11cf91c71
726 726 user: test
727 727 date: Thu Jan 01 00:00:00 1970 +0000
728 728 summary: commitD
729 729
730 730 changeset: 4:d8db9d137221
731 731 tag: tip
732 732 parent: 2:5c51d8d6557d
733 733 parent: 3:6625a5168474
734 734 user: test
735 735 date: Thu Jan 01 00:00:00 1970 +0000
736 736 summary: mergeCD
737 737
738 738
739 739 check strip behavior
740 740
741 741 $ hg --config extensions.strip= strip 'desc(commitD)' --debug
742 742 resolving manifests
743 743 branchmerge: False, force: True, partial: False
744 744 ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71
745 745 c: other deleted -> r
746 746 removing c
747 747 d: other deleted -> r
748 748 removing d
749 749 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
750 750 2 changesets found
751 751 list of changesets:
752 752 6625a516847449b6f0fa3737b9ba56e9f0f3032c
753 753 d8db9d1372214336d2b5570f20ee468d2c72fa8b
754 754 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/6625a5168474-345bb43d-backup.hg (glob)
755 755 invalid branchheads cache (served): tip differs
756 756 truncating cache/rbc-revs-v1 to 24
757 757 $ hg log -G
758 758 o changeset: 2:5c51d8d6557d
759 759 | tag: tip
760 760 | user: test
761 761 | date: Thu Jan 01 00:00:00 1970 +0000
762 762 | summary: commitC
763 763 |
764 764 @ changeset: 1:eca11cf91c71
765 765 | user: test
766 766 | date: Thu Jan 01 00:00:00 1970 +0000
767 767 | summary: commitB
768 768 |
769 769 o changeset: 0:105141ef12d0
770 770 user: test
771 771 date: Thu Jan 01 00:00:00 1970 +0000
772 772 summary: commitA
773 773
774 774
775 775 strip backup content
776 776
777 777 $ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg
778 778 changeset: 3:6625a5168474
779 779 parent: 1:eca11cf91c71
780 780 user: test
781 781 date: Thu Jan 01 00:00:00 1970 +0000
782 782 summary: commitD
783 783
784 784 changeset: 4:d8db9d137221
785 785 tag: tip
786 786 parent: 2:5c51d8d6557d
787 787 parent: 3:6625a5168474
788 788 user: test
789 789 date: Thu Jan 01 00:00:00 1970 +0000
790 790 summary: mergeCD
791 791
792 792
793 793 Error during post-close callback of the strip transaction
794 794 (They should be gracefully handled and reported)
795 795
796 796 $ cat > ../crashstrip.py << EOF
797 797 > from mercurial import error
798 798 > def reposetup(ui, repo):
799 799 > class crashstriprepo(repo.__class__):
800 800 > def transaction(self, desc, *args, **kwargs):
801 801 > tr = super(crashstriprepo, self).transaction(self, desc, *args, **kwargs)
802 802 > if desc == 'strip':
803 803 > def crash(tra): raise error.Abort('boom')
804 804 > tr.addpostclose('crash', crash)
805 805 > return tr
806 806 > repo.__class__ = crashstriprepo
807 807 > EOF
808 808 $ hg strip tip --config extensions.crash=$TESTTMP/crashstrip.py
809 809 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg (glob)
810 strip failed, full bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg'
810 strip failed, full bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg' (glob)
811 811 abort: boom
812 812 [255]
813 813
814 814
General Comments 0
You need to be logged in to leave comments. Login now