# HG changeset patch # User Mads Kiilerich # Date 2013-10-03 16:01:21 # Node ID 30c60e28aa9b1ae84364ca15f8e7e09593cc3aa6 # Parent 1b6e37f44250d02d30bf9b5c100e753a89c2e5ff dirstate: report bad subdirectories as match.bad, not just a warning (BC) This seems simpler and more correct. The only test coverage for this is test-permissions.t when it says: dir: Permission denied diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -637,10 +637,6 @@ class dirstate(object): # implementation doesn't use it at all. This satisfies the contract # because we only guarantee a "maybe". - def fwarn(f, msg): - self._ui.warn('%s: %s\n' % (self.pathto(f), msg)) - return False - if ignored: ignore = util.never dirignore = util.never @@ -695,7 +691,7 @@ class dirstate(object): entries = listdir(join(nd), stat=True, skip=skip) except OSError, inst: if inst.errno in (errno.EACCES, errno.ENOENT): - fwarn(nd, inst.strerror) + match.bad(self.pathto(nd), inst.strerror) continue raise for f, kind, st in entries: