--- a/mercurial/store.py Tue Oct 09 01:41:55 2012 +0900
+++ b/mercurial/store.py Tue Oct 09 01:41:55 2012 +0900
@@ -459,6 +459,7 @@
self.pathsep = self.path + '/'
self.createmode = _calcmode(vfs)
vfs.createmode = self.createmode
+ self.rawvfs = vfs
fnc = fncache(vfs)
self.fncache = fnc
self.vfs = _fncachevfs(vfs, fnc, encode)
@@ -467,16 +468,14 @@
def join(self, f):
return self.pathsep + self.encode(f)
- def getsize(self, path):
- return os.stat(self.pathsep + path).st_size
-
def datafiles(self):
rewrite = False
existing = []
+ getstat = self.rawvfs.stat
for f in sorted(self.fncache):
ef = self.encode(f)
try:
- yield f, ef, self.getsize(ef)
+ yield f, ef, getstat(ef).st_size
existing.append(f)
except OSError, err:
if err.errno != errno.ENOENT: