--- a/mercurial/dirstate.py Wed Oct 15 14:06:46 2008 +0200
+++ b/mercurial/dirstate.py Wed Oct 15 14:52:27 2008 +0200
@@ -492,11 +492,18 @@
nd = work.pop()
if hasattr(match, 'dir'):
match.dir(nd)
+ skip = None
if nd == '.':
nd = ''
- entries = listdir(join(nd), stat=True)
else:
- entries = listdir(join(nd), stat=True, skip ='.hg')
+ skip = '.hg'
+ try:
+ entries = listdir(join(nd), stat=True, skip=skip)
+ except OSError, inst:
+ if inst.errno == errno.EACCES:
+ fwarn(nd, inst.strerror)
+ continue
+ raise
for f, kind, st in entries:
nf = normalize(nd and (nd + "/" + f) or f, True)
if nf not in results: