comparison mercurial/patch.py @ 49306:2e726c934fcd

py3: catch FileNotFoundError instead of checking errno == ENOENT
author Manuel Jacob <me@manueljacob.de>
date Tue, 31 May 2022 22:50:01 +0200
parents d44e3c45f0e4
children e8c170a6571d
comparison
equal deleted inserted replaced
49305:53e9422a9b45 49306:2e726c934fcd
8 8
9 9
10 import collections 10 import collections
11 import contextlib 11 import contextlib
12 import copy 12 import copy
13 import errno
14 import os 13 import os
15 import re 14 import re
16 import shutil 15 import shutil
17 import zlib 16 import zlib
18 17
501 return (self.opener.readlink(fname), (True, False)) 500 return (self.opener.readlink(fname), (True, False))
502 501
503 isexec = False 502 isexec = False
504 try: 503 try:
505 isexec = self.opener.lstat(fname).st_mode & 0o100 != 0 504 isexec = self.opener.lstat(fname).st_mode & 0o100 != 0
506 except OSError as e: 505 except FileNotFoundError:
507 if e.errno != errno.ENOENT: 506 pass
508 raise
509 try: 507 try:
510 return (self.opener.read(fname), (False, isexec)) 508 return (self.opener.read(fname), (False, isexec))
511 except IOError as e: 509 except FileNotFoundError:
512 if e.errno != errno.ENOENT:
513 raise
514 return None, None 510 return None, None
515 511
516 def setfile(self, fname, data, mode, copysource): 512 def setfile(self, fname, data, mode, copysource):
517 islink, isexec = mode 513 islink, isexec = mode
518 if data is None: 514 if data is None: