comparison mercurial/localrepo.py @ 23311:64ab33ffba14

transaction: use the location value when doing backup We finally use the 'location' value coupled with the 'vfsmap' to restore backup for the right file.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Fri, 17 Oct 2014 21:04:35 -0700
parents 5bd1f6572db0
children 86c6f06feb04
comparison
equal deleted inserted replaced
23310:5bd1f6572db0 23311:64ab33ffba14
917 def recover(self): 917 def recover(self):
918 lock = self.lock() 918 lock = self.lock()
919 try: 919 try:
920 if self.svfs.exists("journal"): 920 if self.svfs.exists("journal"):
921 self.ui.status(_("rolling back interrupted transaction\n")) 921 self.ui.status(_("rolling back interrupted transaction\n"))
922 transaction.rollback(self.sopener, "journal", 922 vfsmap = {'': self.sopener,
923 'plain': self.opener,}
924 transaction.rollback(self.sopener, vfsmap, "journal",
923 self.ui.warn) 925 self.ui.warn)
924 self.invalidate() 926 self.invalidate()
925 return True 927 return True
926 else: 928 else:
927 self.ui.warn(_("no interrupted transaction available\n")) 929 self.ui.warn(_("no interrupted transaction available\n"))
973 if dryrun: 975 if dryrun:
974 return 0 976 return 0
975 977
976 parents = self.dirstate.parents() 978 parents = self.dirstate.parents()
977 self.destroying() 979 self.destroying()
978 transaction.rollback(self.sopener, 'undo', ui.warn) 980 vfsmap = {'plain': self.opener}
981 transaction.rollback(self.sopener, vfsmap, 'undo', ui.warn)
979 if self.vfs.exists('undo.bookmarks'): 982 if self.vfs.exists('undo.bookmarks'):
980 self.vfs.rename('undo.bookmarks', 'bookmarks') 983 self.vfs.rename('undo.bookmarks', 'bookmarks')
981 if self.svfs.exists('undo.phaseroots'): 984 if self.svfs.exists('undo.phaseroots'):
982 self.svfs.rename('undo.phaseroots', 'phaseroots') 985 self.svfs.rename('undo.phaseroots', 'phaseroots')
983 self.invalidate() 986 self.invalidate()