mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
localrepo: use "vfs.rename()" instead of "util.rename()"
This patch makes "_journalfiles()" return a list of pairs of journal file and corresponded vfs instance instead of a list of journal files in full path, to use "vfs.rename()" instead of "util.rename()" in "aftertrans()". "undofiles()" still returns a list of undo files in full path, because "repair.strip()" expects such list. It'll be also made to return a list of pairs of undo file and corresponded vfs at vfs migration for "repair.strip()" in the near future.
This commit is contained in:
parent
2dcdc7d9fa
commit
ca3aae955c
@ -811,7 +811,7 @@ class localrepository(object):
|
||||
_("abandoned transaction found - run hg recover"))
|
||||
|
||||
self._writejournal(desc)
|
||||
renames = [(x, undoname(x)) for x in self._journalfiles()]
|
||||
renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()]
|
||||
|
||||
tr = transaction.transaction(self.ui.warn, self.sopener,
|
||||
self.sjoin("journal"),
|
||||
@ -821,13 +821,15 @@ class localrepository(object):
|
||||
return tr
|
||||
|
||||
def _journalfiles(self):
|
||||
return (self.sjoin('journal'), self.join('journal.dirstate'),
|
||||
self.join('journal.branch'), self.join('journal.desc'),
|
||||
self.join('journal.bookmarks'),
|
||||
self.sjoin('journal.phaseroots'))
|
||||
return ((self.svfs, 'journal'),
|
||||
(self.vfs, 'journal.dirstate'),
|
||||
(self.vfs, 'journal.branch'),
|
||||
(self.vfs, 'journal.desc'),
|
||||
(self.vfs, 'journal.bookmarks'),
|
||||
(self.svfs, 'journal.phaseroots'))
|
||||
|
||||
def undofiles(self):
|
||||
return [undoname(x) for x in self._journalfiles()]
|
||||
return [vfs.join(undoname(x)) for vfs, x in self._journalfiles()]
|
||||
|
||||
def _writejournal(self, desc):
|
||||
self.opener.write("journal.dirstate",
|
||||
@ -2575,9 +2577,9 @@ class localrepository(object):
|
||||
def aftertrans(files):
|
||||
renamefiles = [tuple(t) for t in files]
|
||||
def a():
|
||||
for src, dest in renamefiles:
|
||||
for vfs, src, dest in renamefiles:
|
||||
try:
|
||||
util.rename(src, dest)
|
||||
vfs.rename(src, dest)
|
||||
except OSError: # journal file does not yet exist
|
||||
pass
|
||||
return a
|
||||
|
Loading…
Reference in New Issue
Block a user