# HG changeset patch # User Christian Delahousse # Date 1447195274 28800 # Node ID d55d22840592ee8898f19d0c227be86d9fdfbe94 # Parent 454deda24315feb786a3864e433db58be5293fa0 shelve: choose where .orig file locations are kept This patch uses cmdutil.origpath to let the user set the location of the orig files. diff -r 454deda24315 -r d55d22840592 hgext/shelve.py --- a/hgext/shelve.py Tue Nov 10 16:25:59 2015 -0800 +++ b/hgext/shelve.py Tue Nov 10 14:41:14 2015 -0800 @@ -507,7 +507,7 @@ # revert will overwrite unknown files, so move them out of the way for file in repo.status(unknown=True).unknown: if file in files: - util.rename(file, file + ".orig") + util.rename(file, cmdutil.origpath(ui, repo, file)) ui.pushbuffer(True) cmdutil.revert(ui, repo, shelvectx, repo.dirstate.parents(), *pathtofiles(repo, files), diff -r 454deda24315 -r d55d22840592 tests/test-shelve.t --- a/tests/test-shelve.t Tue Nov 10 16:25:59 2015 -0800 +++ b/tests/test-shelve.t Tue Nov 10 14:41:14 2015 -0800 @@ -1135,7 +1135,7 @@ $ cd .. -test Abort unshelve always gets user out of the unshelved state +test .orig files go where the user wants them to --------------------------------------------------------------- $ hg init salvage $ cd salvage @@ -1144,10 +1144,16 @@ $ echo '' > root $ hg shelve -q $ echo 'contADDent' > root - $ hg unshelve -q + $ hg unshelve -q --config 'ui.origbackuppath=.hg/origbackups' warning: conflicts while merging root! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') [1] + $ ls .hg/origbackups + root.orig + $ rm -rf .hg/origbackups + +test Abort unshelve always gets user out of the unshelved state +--------------------------------------------------------------- Wreak havoc on the unshelve process $ rm .hg/unshelverebasestate $ hg unshelve --abort