##// END OF EJS Templates
shelve: delete shelve statefile on any exception during abort...
Christian Delahousse -
r26681:ca8170b5 default
parent child Browse files
Show More
@@ -482,9 +482,9 b' def unshelveabort(ui, repo, state, opts)'
482 mergefiles(ui, repo, state.wctx, state.pendingctx)
482 mergefiles(ui, repo, state.wctx, state.pendingctx)
483
483
484 repair.strip(ui, repo, state.stripnodes, backup=False, topic='shelve')
484 repair.strip(ui, repo, state.stripnodes, backup=False, topic='shelve')
485 finally:
485 shelvedstate.clear(repo)
486 shelvedstate.clear(repo)
486 ui.warn(_("unshelve of '%s' aborted\n") % state.name)
487 ui.warn(_("unshelve of '%s' aborted\n") % state.name)
487 finally:
488 lockmod.release(lock, wlock)
488 lockmod.release(lock, wlock)
489
489
490 def mergefiles(ui, repo, wctx, shelvectx):
490 def mergefiles(ui, repo, wctx, shelvectx):
@@ -1010,3 +1010,43 b' with general delta'
1010 changegroup -- "{'version': '02'}"
1010 changegroup -- "{'version': '02'}"
1011 7e30d8ac6f23cfc84330fd7e698730374615d21a
1011 7e30d8ac6f23cfc84330fd7e698730374615d21a
1012 $ cd ..
1012 $ cd ..
1013
1014 test Abort unshelve always gets user out of the unshelved state
1015 ---------------------------------------------------------------
1016 $ hg init salvage
1017 $ cd salvage
1018 $ echo 'content' > root
1019 $ hg commit -A -m 'root' -q
1020 $ echo '' > root
1021 $ hg shelve -q
1022 $ echo 'contADDent' > root
1023 $ hg unshelve -q
1024 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1025 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1026 [1]
1027 Wreak havoc on the unshelve process
1028 $ rm .hg/unshelverebasestate
1029 $ hg unshelve --abort
1030 unshelve of 'default' aborted
1031 abort: No such file or directory
1032 [255]
1033 Can the user leave the current state?
1034 $ hg up -C .
1035 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1036
1037 Try again but with a corrupted shelve state file
1038 $ hg strip -r 2 -r 1 -q
1039 $ hg up -r 0 -q
1040 $ echo '' > root
1041 $ hg shelve -q
1042 $ echo 'contADDent' > root
1043 $ hg unshelve -q
1044 warning: conflicts while merging root! (edit, then use 'hg resolve --mark')
1045 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
1046 [1]
1047 $ sed 's/ae8c668541e8/123456789012/' .hg/shelvedstate > ../corrupt-shelvedstate
1048 $ mv ../corrupt-shelvedstate .hg/histedit-state
1049 $ hg unshelve --abort |& grep 'rebase aborted'
1050 rebase aborted
1051 $ hg up -C .
1052 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
General Comments 0
You need to be logged in to leave comments. Login now