# HG changeset patch # User Matt Mackall # Date 1345570013 18000 # Node ID 7228def3dcc114f2c9f8c7b7733170adcb3a5630 # Parent b05e517c22364c54180bc0c9907b054cc5ac293c# Parent 1310489eb5d6e4b730638220591f3f8eb1eefe9c merge heads in stable diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1312,6 +1312,7 @@ matched = set(changes[0] + changes[1] + changes[2]) for f in match.files(): + f = self.dirstate.normalize(f) if f == '.' or f in matched or f in wctx.substate: continue if f in changes[3]: # missing diff --git a/mercurial/store.py b/mercurial/store.py --- a/mercurial/store.py +++ b/mercurial/store.py @@ -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: