mercurial/posix.py
changeset 49307 6f2a57ba2d13
parent 49306 2e726c934fcd
child 49310 050dc8730858
equal deleted inserted replaced
49306:2e726c934fcd 49307:6f2a57ba2d13
   300                 # already exists.
   300                 # already exists.
   301                 target = b'checklink-target'
   301                 target = b'checklink-target'
   302                 try:
   302                 try:
   303                     fullpath = os.path.join(cachedir, target)
   303                     fullpath = os.path.join(cachedir, target)
   304                     open(fullpath, b'w').close()
   304                     open(fullpath, b'w').close()
   305                 except IOError as inst:
   305                 except PermissionError:
   306                     # pytype: disable=unsupported-operands
   306                     # If we can't write to cachedir, just pretend
   307                     if inst[0] == errno.EACCES:
   307                     # that the fs is readonly and by association
   308                         # pytype: enable=unsupported-operands
   308                     # that the fs won't support symlinks. This
   309 
   309                     # seems like the least dangerous way to avoid
   310                         # If we can't write to cachedir, just pretend
   310                     # data loss.
   311                         # that the fs is readonly and by association
   311                     return False
   312                         # that the fs won't support symlinks. This
       
   313                         # seems like the least dangerous way to avoid
       
   314                         # data loss.
       
   315                         return False
       
   316                     raise
       
   317             try:
   312             try:
   318                 os.symlink(target, name)
   313                 os.symlink(target, name)
   319                 if cachedir is None:
   314                 if cachedir is None:
   320                     unlink(name)
   315                     unlink(name)
   321                 else:
   316                 else: