comparison tests/test-shelve.t @ 39744:52dfa1eb0ad4

shelve: no longer strip internal commit when using internal phase When the internal phase is used, the internal commits we create during shelve will be automatically hidden, and we don't need to strip them. Avoiding strips gives much better performances and is less traumatic for caches. Test changes are all related to revision numbers increasing more quickly since we avoid stripping. At the end of `test-shelve.t` we now need manually strip the shelve-commit in addition to the x.shelve file deletion. This emulates a preexisting shelve after a repository upgrade. Note: The hidden internal commits confuses rebase a bit as shown by a new test added. This will happen when the user have shelve commits on top of a changeset to be rebased. We'll fix this in the next commit. As we still use a backup bundle, rebase can just strip the internal changesets and be fine.
author Boris Feld <boris.feld@octobus.net>
date Wed, 06 Jun 2018 02:31:46 +0200
parents 5d69e2412ec8
children b2ec79559a4b
comparison
equal deleted inserted replaced
39743:f803bcb902ad 39744:52dfa1eb0ad4
378 # To abort: hg unshelve --abort 378 # To abort: hg unshelve --abort
379 379
380 380
381 ensure that we have a merge with unresolved conflicts 381 ensure that we have a merge with unresolved conflicts
382 382
383 #if phasebased
384 $ hg heads -q --template '{rev}\n'
385 8
386 5
387 $ hg parents -q --template '{rev}\n'
388 8
389 5
390 #endif
391
392 #if stripbased
383 $ hg heads -q --template '{rev}\n' 393 $ hg heads -q --template '{rev}\n'
384 5 394 5
385 4 395 4
386 $ hg parents -q --template '{rev}\n' 396 $ hg parents -q --template '{rev}\n'
387 4 397 4
388 5 398 5
399 #endif
400
389 $ hg status 401 $ hg status
390 M a/a 402 M a/a
391 M b.rename/b 403 M b.rename/b
392 M c.copy 404 M c.copy
393 R b/b 405 R b/b
426 R b/b 438 R b/b
427 ? a/a.orig 439 ? a/a.orig
428 $ hg unshelve -a 440 $ hg unshelve -a
429 unshelve of 'default' aborted 441 unshelve of 'default' aborted
430 $ hg heads -q 442 $ hg heads -q
431 3:2e69b451d1ea 443 [37]:2e69b451d1ea (re)
432 $ hg parents 444 $ hg parents
433 changeset: 3:2e69b451d1ea 445 changeset: [37]:2e69b451d1ea (re)
434 tag: tip 446 tag: tip
447 parent: 3:509104101065 (?)
435 user: test 448 user: test
436 date: Thu Jan 01 00:00:00 1970 +0000 449 date: Thu Jan 01 00:00:00 1970 +0000
437 summary: second 450 summary: second
438 451
439 $ hg resolve -l 452 $ hg resolve -l
482 unshelve of 'default' complete 495 unshelve of 'default' complete
483 496
484 ensure the repo is as we hope 497 ensure the repo is as we hope
485 498
486 $ hg parents 499 $ hg parents
487 changeset: 3:2e69b451d1ea 500 changeset: [37]:2e69b451d1ea (re)
488 tag: tip 501 tag: tip
502 parent: 3:509104101065 (?)
489 user: test 503 user: test
490 date: Thu Jan 01 00:00:00 1970 +0000 504 date: Thu Jan 01 00:00:00 1970 +0000
491 summary: second 505 summary: second
492 506
493 $ hg heads -q 507 $ hg heads -q
494 3:2e69b451d1ea 508 [37]:2e69b451d1ea (re)
495 509
496 $ hg status -C 510 $ hg status -C
497 A b.rename/b 511 A b.rename/b
498 b/b 512 b/b
499 A c.copy 513 A c.copy
549 unshelving change 'default' 563 unshelving change 'default'
550 temporarily committing pending changes (restore with 'hg unshelve --abort') 564 temporarily committing pending changes (restore with 'hg unshelve --abort')
551 rebasing shelved changes 565 rebasing shelved changes
552 merging a/a 566 merging a/a
553 $ hg parents -q 567 $ hg parents -q
554 4:33f7f61e6c5e 568 (4|13):33f7f61e6c5e (re)
555 $ hg shelve -l 569 $ hg shelve -l
556 default (*)* changes to: second (glob) 570 default (*)* changes to: second (glob)
557 $ hg status 571 $ hg status
558 M a/a 572 M a/a
559 A foo/foo 573 A foo/foo
572 temporarily committing pending changes (restore with 'hg unshelve --abort') 586 temporarily committing pending changes (restore with 'hg unshelve --abort')
573 rebasing shelved changes 587 rebasing shelved changes
574 merging a/a 588 merging a/a
575 note: unshelved changes already existed in the working copy 589 note: unshelved changes already existed in the working copy
576 $ hg parents -q 590 $ hg parents -q
577 4:33f7f61e6c5e 591 (4|13):33f7f61e6c5e (re)
578 $ hg shelve -l 592 $ hg shelve -l
579 $ hg status 593 $ hg status
580 A foo/foo 594 A foo/foo
581 $ cat a/a 595 $ cat a/a
582 a 596 a
609 623
610 test bookmarks 624 test bookmarks
611 625
612 $ hg bookmark test 626 $ hg bookmark test
613 $ hg bookmark 627 $ hg bookmark
614 * test 4:33f7f61e6c5e 628 \* test (4|13):33f7f61e6c5e (re)
615 $ hg shelve 629 $ hg shelve
616 shelved as test 630 shelved as test
617 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 631 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
618 $ hg bookmark 632 $ hg bookmark
619 * test 4:33f7f61e6c5e 633 \* test (4|13):33f7f61e6c5e (re)
620 $ hg unshelve 634 $ hg unshelve
621 unshelving change 'test' 635 unshelving change 'test'
622 $ hg bookmark 636 $ hg bookmark
623 * test 4:33f7f61e6c5e 637 \* test (4|13):33f7f61e6c5e (re)
624 638
625 shelve should still work even if mq is disabled 639 shelve should still work even if mq is disabled
626 640
627 $ hg --config extensions.mq=! shelve 641 $ hg --config extensions.mq=! shelve
628 shelved as test 642 shelved as test
629 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 643 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
630 $ hg --config extensions.mq=! shelve --list 644 $ hg --config extensions.mq=! shelve --list
631 test (*)* changes to: create conflict (glob) 645 test (*)* changes to: create conflict (glob)
632 $ hg bookmark 646 $ hg bookmark
633 * test 4:33f7f61e6c5e 647 \* test (4|13):33f7f61e6c5e (re)
634 $ hg --config extensions.mq=! unshelve 648 $ hg --config extensions.mq=! unshelve
635 unshelving change 'test' 649 unshelving change 'test'
636 $ hg bookmark 650 $ hg bookmark
637 * test 4:33f7f61e6c5e 651 \* test (4|13):33f7f61e6c5e (re)
638 652
639 shelve should leave dirstate clean (issue4055) 653 shelve should leave dirstate clean (issue4055)
640 654
641 $ cd .. 655 $ cd ..
642 $ hg init shelverebase 656 $ hg init shelverebase
652 $ hg commit -Aqm xyz 666 $ hg commit -Aqm xyz
653 $ echo c >> z 667 $ echo c >> z
654 $ hg shelve 668 $ hg shelve
655 shelved as default 669 shelved as default
656 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 670 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
671
672 #if phasebased
673 $ hg rebase -d 6c103be8f4e4 --config extensions.rebase=
674 rebasing 2:323bfa07f744 "xyz"
675 merging x
676 warning: orphaned descendants detected, not stripping 323bfa07f744 (?)
677 #endif
678
679 #if stripbased
657 $ hg rebase -d 6c103be8f4e4 --config extensions.rebase= 680 $ hg rebase -d 6c103be8f4e4 --config extensions.rebase=
658 rebasing 2:323bfa07f744 "xyz" (tip) 681 rebasing 2:323bfa07f744 "xyz" (tip)
659 merging x 682 merging x
660 saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-rebase.hg 683 saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-rebase.hg
684 #endif
661 $ hg unshelve 685 $ hg unshelve
662 unshelving change 'default' 686 unshelving change 'default'
663 rebasing shelved changes 687 rebasing shelved changes
664 $ hg status 688 $ hg status
665 M z 689 M z
781 ? f.orig 805 ? f.orig
782 $ hg shelve 806 $ hg shelve
783 shelved as default 807 shelved as default
784 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 808 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
785 #if repobundlerepo 809 #if repobundlerepo
786 $ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()' 810 $ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()' --hidden
787 o 4 changes to: commit stuff shelve@localhost 811 o [48] changes to: commit stuff shelve@localhost (re)
788 | 812 |
789 ~ 813 ~
790 #endif 814 #endif
791 $ hg log -G --template '{rev} {desc|firstline} {author}' 815 $ hg log -G --template '{rev} {desc|firstline} {author}'
792 @ 3 commit stuff test 816 @ [37] commit stuff test (re)
793 | 817 |
794 | o 2 c test 818 | o 2 c test
795 |/ 819 |/
796 o 0 a test 820 o 0 a test
797 821
803 rebasing shelved changes 827 rebasing shelved changes
804 merging f 828 merging f
805 warning: conflicts while merging f! (edit, then use 'hg resolve --mark') 829 warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
806 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') 830 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
807 [1] 831 [1]
832
833 #if phasebased
834 $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}'
835 @ 9 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000
836 |
837 | @ 8 changes to: commit stuff shelve@localhost 1970-01-01 00:00 +0000
838 |/
839 o 7 commit stuff test 1970-01-01 00:00 +0000
840 |
841 | o 2 c test 1970-01-01 00:00 +0000
842 |/
843 o 0 a test 1970-01-01 00:00 +0000
844
845 #endif
846
847 #if stripbased
808 $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}' 848 $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}'
809 @ 5 changes to: commit stuff shelve@localhost 1970-01-01 00:00 +0000 849 @ 5 changes to: commit stuff shelve@localhost 1970-01-01 00:00 +0000
810 | 850 |
811 | @ 4 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000 851 | @ 4 pending changes temporary commit shelve@localhost 2004-01-10 13:37 +0000
812 |/ 852 |/
814 | 854 |
815 | o 2 c test 1970-01-01 00:00 +0000 855 | o 2 c test 1970-01-01 00:00 +0000
816 |/ 856 |/
817 o 0 a test 1970-01-01 00:00 +0000 857 o 0 a test 1970-01-01 00:00 +0000
818 858
859 #endif
860
819 $ hg st 861 $ hg st
820 M f 862 M f
821 ? f.orig 863 ? f.orig
822 $ cat f 864 $ cat f
823 <<<<<<< shelve: d44eae5c3d33 - shelve: pending changes temporary commit 865 <<<<<<< shelve: d44eae5c3d33 - shelve: pending changes temporary commit
889 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 931 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
890 $ hg up test 932 $ hg up test
891 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 933 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
892 (activating bookmark test) 934 (activating bookmark test)
893 $ hg bookmark 935 $ hg bookmark
894 * test 4:33f7f61e6c5e 936 \* test (4|13):33f7f61e6c5e (re)
895 $ hg unshelve 937 $ hg unshelve
896 unshelving change 'default' 938 unshelving change 'default'
897 rebasing shelved changes 939 rebasing shelved changes
898 merging a/a 940 merging a/a
899 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark') 941 warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark')
900 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') 942 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
901 [1] 943 [1]
902 $ hg bookmark 944 $ hg bookmark
903 test 4:33f7f61e6c5e 945 test (4|13):33f7f61e6c5e (re)
904 946
905 Test that resolving all conflicts in one direction (so that the rebase 947 Test that resolving all conflicts in one direction (so that the rebase
906 is a no-op), works (issue4398) 948 is a no-op), works (issue4398)
907 949
908 $ hg revert -a -r . 950 $ hg revert -a -r .
912 continue: hg unshelve --continue 954 continue: hg unshelve --continue
913 $ hg unshelve -c 955 $ hg unshelve -c
914 note: unshelved changes already existed in the working copy 956 note: unshelved changes already existed in the working copy
915 unshelve of 'default' complete 957 unshelve of 'default' complete
916 $ hg bookmark 958 $ hg bookmark
917 * test 4:33f7f61e6c5e 959 \* test (4|13):33f7f61e6c5e (re)
918 $ hg diff 960 $ hg diff
919 $ hg status 961 $ hg status
920 ? a/a.orig 962 ? a/a.orig
921 ? foo/foo 963 ? foo/foo
922 $ hg summary 964 $ hg summary
923 parent: 4:33f7f61e6c5e tip 965 parent: (4|13):33f7f61e6c5e tip (re)
924 create conflict 966 create conflict
925 branch: default 967 branch: default
926 bookmarks: *test 968 bookmarks: *test
927 commit: 2 unknown (clean) 969 commit: 2 unknown (clean)
928 update: (current) 970 update: (current)
997 a 1039 a
998 $ hg st 1040 $ hg st
999 M a/a 1041 M a/a
1000 ? foo/foo 1042 ? foo/foo
1001 $ hg bookmark 1043 $ hg bookmark
1002 * test 4:33f7f61e6c5e 1044 \* test (4|13):33f7f61e6c5e (re)
1003 $ hg unshelve 1045 $ hg unshelve
1004 unshelving change 'test' 1046 unshelving change 'test'
1005 temporarily committing pending changes (restore with 'hg unshelve --abort') 1047 temporarily committing pending changes (restore with 'hg unshelve --abort')
1006 rebasing shelved changes 1048 rebasing shelved changes
1007 merging a/a 1049 merging a/a
1008 $ hg bookmark 1050 $ hg bookmark
1009 * test 4:33f7f61e6c5e 1051 \* test (4|13):33f7f61e6c5e (re)
1010 $ cat a/a 1052 $ cat a/a
1011 a 1053 a
1012 a 1054 a
1013 c 1055 c
1014 x 1056 x
1196 1238
1197 $ echo nnnn >> n 1239 $ echo nnnn >> n
1198 1240
1199 $ sh $TESTTMP/checkvisibility.sh before-unshelving 1241 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1200 ==== before-unshelving: 1242 ==== before-unshelving:
1201 VISIBLE 5:703117a2acfb 1243 VISIBLE (5|19):703117a2acfb (re)
1202 ACTUAL 5:703117a2acfb 1244 ACTUAL (5|19):703117a2acfb (re)
1203 ==== 1245 ====
1204 1246
1205 $ hg unshelve --keep default 1247 $ hg unshelve --keep default
1206 temporarily committing pending changes (restore with 'hg unshelve --abort') 1248 temporarily committing pending changes (restore with 'hg unshelve --abort')
1207 rebasing shelved changes 1249 rebasing shelved changes
1208 ==== preupdate: 1250 ==== preupdate:
1209 VISIBLE 6:54c00d20fb3f 1251 VISIBLE (6|20):54c00d20fb3f (re)
1210 ACTUAL 5:703117a2acfb 1252 ACTUAL (5|19):703117a2acfb (re)
1211 ==== 1253 ====
1212 ==== preupdate: 1254 ==== preupdate:
1213 VISIBLE 8:8efe6f7537dc 1255 VISIBLE (8|21):8efe6f7537dc (re)
1214 ACTUAL 5:703117a2acfb 1256 ACTUAL (5|19):703117a2acfb (re)
1215 ==== 1257 ====
1216 ==== preupdate: 1258 ==== preupdate:
1217 VISIBLE 6:54c00d20fb3f 1259 VISIBLE (6|20):54c00d20fb3f (re)
1218 ACTUAL 5:703117a2acfb 1260 ACTUAL (5|19):703117a2acfb (re)
1219 ==== 1261 ====
1220 1262
1221 $ cat >> .hg/hgrc <<EOF 1263 $ cat >> .hg/hgrc <<EOF
1222 > [hooks] 1264 > [hooks]
1223 > preupdate.visibility = 1265 > preupdate.visibility =
1224 > EOF 1266 > EOF
1225 1267
1226 $ sh $TESTTMP/checkvisibility.sh after-unshelving 1268 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1227 ==== after-unshelving: 1269 ==== after-unshelving:
1228 VISIBLE 5:703117a2acfb 1270 VISIBLE (5|19):703117a2acfb (re)
1229 ACTUAL 5:703117a2acfb 1271 ACTUAL (5|19):703117a2acfb (re)
1230 ==== 1272 ====
1231 1273
1232 == test visibility to external update hook 1274 == test visibility to external update hook
1233 1275
1234 $ hg update -q -C 703117a2acfb 1276 $ hg update -q -C 703117a2acfb
1240 1282
1241 $ echo nnnn >> n 1283 $ echo nnnn >> n
1242 1284
1243 $ sh $TESTTMP/checkvisibility.sh before-unshelving 1285 $ sh $TESTTMP/checkvisibility.sh before-unshelving
1244 ==== before-unshelving: 1286 ==== before-unshelving:
1245 VISIBLE 5:703117a2acfb 1287 VISIBLE (5|19):703117a2acfb (re)
1246 ACTUAL 5:703117a2acfb 1288 ACTUAL (5|19):703117a2acfb (re)
1247 ==== 1289 ====
1248 1290
1249 $ hg unshelve --keep default 1291 $ hg unshelve --keep default
1250 temporarily committing pending changes (restore with 'hg unshelve --abort') 1292 temporarily committing pending changes (restore with 'hg unshelve --abort')
1251 rebasing shelved changes 1293 rebasing shelved changes
1252 ==== update: 1294 ==== update:
1253 VISIBLE 6:54c00d20fb3f 1295 VISIBLE (6|20):54c00d20fb3f (re)
1254 VISIBLE 7:492ed9d705e5 1296 VISIBLE 1?7:492ed9d705e5 (re)
1255 ACTUAL 5:703117a2acfb 1297 ACTUAL (5|19):703117a2acfb (re)
1256 ==== 1298 ====
1257 ==== update: 1299 ==== update:
1258 VISIBLE 6:54c00d20fb3f 1300 VISIBLE (6|20):54c00d20fb3f (re)
1259 ACTUAL 5:703117a2acfb 1301 ACTUAL (5|19):703117a2acfb (re)
1260 ==== 1302 ====
1261 ==== update: 1303 ==== update:
1262 VISIBLE 5:703117a2acfb 1304 VISIBLE (5|19):703117a2acfb (re)
1263 ACTUAL 5:703117a2acfb 1305 ACTUAL (5|19):703117a2acfb (re)
1264 ==== 1306 ====
1265 1307
1266 $ cat >> .hg/hgrc <<EOF 1308 $ cat >> .hg/hgrc <<EOF
1267 > [hooks] 1309 > [hooks]
1268 > update.visibility = 1310 > update.visibility =
1269 > EOF 1311 > EOF
1270 1312
1271 $ sh $TESTTMP/checkvisibility.sh after-unshelving 1313 $ sh $TESTTMP/checkvisibility.sh after-unshelving
1272 ==== after-unshelving: 1314 ==== after-unshelving:
1273 VISIBLE 5:703117a2acfb 1315 VISIBLE (5|19):703117a2acfb (re)
1274 ACTUAL 5:703117a2acfb 1316 ACTUAL (5|19):703117a2acfb (re)
1275 ==== 1317 ====
1276 1318
1277 $ cd .. 1319 $ cd ..
1278 1320
1279 test .orig files go where the user wants them to 1321 test .orig files go where the user wants them to
1320 > [extensions] 1362 > [extensions]
1321 > share = 1363 > share =
1322 > EOF 1364 > EOF
1323 1365
1324 $ hg bookmarks -R repo 1366 $ hg bookmarks -R repo
1325 test 4:33f7f61e6c5e 1367 test (4|13):33f7f61e6c5e (re)
1326 $ hg share -B repo share 1368 $ hg share -B repo share
1327 updating working directory 1369 updating working directory
1328 6 files updated, 0 files merged, 0 files removed, 0 files unresolved 1370 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
1329 $ cd share 1371 $ cd share
1330 1372
1331 $ hg bookmarks 1373 $ hg bookmarks
1332 test 4:33f7f61e6c5e 1374 test (4|13):33f7f61e6c5e (re)
1333 $ hg bookmarks foo 1375 $ hg bookmarks foo
1334 $ hg bookmarks 1376 $ hg bookmarks
1335 * foo 5:703117a2acfb 1377 \* foo (5|19):703117a2acfb (re)
1336 test 4:33f7f61e6c5e 1378 test (4|13):33f7f61e6c5e (re)
1337 $ echo x >> x 1379 $ echo x >> x
1338 $ hg shelve 1380 $ hg shelve
1339 shelved as foo 1381 shelved as foo
1340 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1382 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1341 $ hg bookmarks 1383 $ hg bookmarks
1342 * foo 5:703117a2acfb 1384 \* foo (5|19):703117a2acfb (re)
1343 test 4:33f7f61e6c5e 1385 test (4|13):33f7f61e6c5e (re)
1344 1386
1345 $ hg unshelve 1387 $ hg unshelve
1346 unshelving change 'foo' 1388 unshelving change 'foo'
1347 $ hg bookmarks 1389 $ hg bookmarks
1348 * foo 5:703117a2acfb 1390 \* foo (5|19):703117a2acfb (re)
1349 test 4:33f7f61e6c5e 1391 test (4|13):33f7f61e6c5e (re)
1350 1392
1351 $ cd .. 1393 $ cd ..
1352 1394
1353 Shelve and unshelve unknown files. For the purposes of unshelve, a shelved 1395 Shelve and unshelve unknown files. For the purposes of unshelve, a shelved
1354 unknown file is the same as a shelved added file, except that it will be in 1396 unknown file is the same as a shelved added file, except that it will be in
1803 continue: hg unshelve --continue 1845 continue: hg unshelve --continue
1804 mercurial does not crash 1846 mercurial does not crash
1805 $ hg unshelve --continue 1847 $ hg unshelve --continue
1806 unshelve of 'ashelve' complete 1848 unshelve of 'ashelve' complete
1807 1849
1850 #if phasebased
1851
1808 Unshelve without .shelve metadata: 1852 Unshelve without .shelve metadata:
1809 1853
1810 $ hg shelve 1854 $ hg shelve
1811 shelved as default 1855 shelved as default
1812 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1856 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1857 $ cat .hg/shelved/default.shelve
1858 node=82e0cb9893247d12667017593ce1e5655860f1ac
1859 $ hg strip --hidden --rev 82e0cb989324 --no-backup
1813 $ rm .hg/shelved/default.shelve 1860 $ rm .hg/shelved/default.shelve
1814 $ echo 3 > a 1861 $ echo 3 > a
1815 $ hg unshelve 1862 $ hg unshelve
1816 unshelving change 'default' 1863 unshelving change 'default'
1817 temporarily committing pending changes (restore with 'hg unshelve --abort') 1864 temporarily committing pending changes (restore with 'hg unshelve --abort')
1821 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') 1868 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1822 [1] 1869 [1]
1823 $ cat .hg/shelved/default.shelve 1870 $ cat .hg/shelved/default.shelve
1824 node=82e0cb9893247d12667017593ce1e5655860f1ac 1871 node=82e0cb9893247d12667017593ce1e5655860f1ac
1825 1872
1826 $ cd .. 1873 #endif
1874
1875 $ cd ..