mercurial/windows.py
changeset 49311 defc369d705e
parent 49305 53e9422a9b45
child 49317 709e5f7eec1f
equal deleted inserted replaced
49310:050dc8730858 49311:defc369d705e
   574                 dmap = {
   574                 dmap = {
   575                     normcase(n): s
   575                     normcase(n): s
   576                     for n, k, s in listdir(dir, True)
   576                     for n, k, s in listdir(dir, True)
   577                     if getkind(s.st_mode) in _wantedkinds
   577                     if getkind(s.st_mode) in _wantedkinds
   578                 }
   578                 }
   579             except OSError as err:
   579             except (FileNotFoundError, NotADirectoryError):
   580                 # Python >= 2.5 returns ENOENT and adds winerror field
       
   581                 # EINVAL is raised if dir is not a directory.
       
   582                 if err.errno not in (errno.ENOENT, errno.EINVAL, errno.ENOTDIR):
       
   583                     raise
       
   584                 dmap = {}
   580                 dmap = {}
   585             cache = dircache.setdefault(dir, dmap)
   581             cache = dircache.setdefault(dir, dmap)
   586         yield cache.get(base, None)
   582         yield cache.get(base, None)
   587 
   583 
   588 
   584