mercurial/patch.py
changeset 49306 2e726c934fcd
parent 49284 d44e3c45f0e4
child 50044 e8c170a6571d
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: