--- a/mercurial/store.py Wed Aug 15 23:03:40 2012 +0200
+++ b/mercurial/store.py Wed Aug 15 16:33:26 2012 -0700
@@ -7,7 +7,7 @@
from i18n import _
import osutil, scmutil, util
-import os, stat
+import os, stat, errno
_sha = util.sha1
@@ -398,12 +398,14 @@
def datafiles(self):
rewrite = False
existing = []
- for f in self.fncache:
+ for f in sorted(self.fncache):
ef = self.encode(f)
try:
yield f, ef, self.getsize(ef)
existing.append(f)
- except OSError:
+ except OSError, err:
+ if err.errno != errno.ENOENT:
+ raise
# nonexistent entry
rewrite = True
if rewrite: