Mercurial > hg
diff mercurial/dirstate.py @ 49310:050dc8730858
py3: catch specific OSError subclasses instead of checking errno
Contrary to the previous changesets in this series, this covers cases where
errno was checked for multiple values.
EACCES -> PermissionError
ENOENT -> FileNotFoundError
ENOTDIR -> NotADirectoryError
EISDIR -> IsADirectoryError
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Wed, 01 Jun 2022 00:47:25 +0200 |
parents | 2e726c934fcd |
children | 0043c7aa3250 |
line wrap: on
line diff
--- a/mercurial/dirstate.py Tue May 31 23:45:33 2022 +0200 +++ b/mercurial/dirstate.py Wed Jun 01 00:47:25 2022 +0200 @@ -8,7 +8,6 @@ import collections import contextlib -import errno import os import stat import uuid @@ -1035,13 +1034,11 @@ try: with tracing.log('dirstate.walk.traverse listdir %s', nd): entries = listdir(join(nd), stat=True, skip=skip) - except OSError as inst: - if inst.errno in (errno.EACCES, errno.ENOENT): - match.bad( - self.pathto(nd), encoding.strtolocal(inst.strerror) - ) - continue - raise + except (PermissionError, FileNotFoundError) as inst: + match.bad( + self.pathto(nd), encoding.strtolocal(inst.strerror) + ) + continue for f, kind, st in entries: # Some matchers may return files in the visitentries set, # instead of 'this', if the matcher explicitly mentions them