mercurial/posix.py
branchstable
changeset 26889 1aa5083cbebb
parent 26883 c750ed59892a
child 26901 0e3d093c468e
--- a/mercurial/posix.py	Sun Nov 08 01:10:52 2015 +0800
+++ b/mercurial/posix.py	Mon Nov 09 15:53:11 2015 -0600
@@ -182,14 +182,16 @@
                 # link creation might race, try again
                 if inst[0] == errno.EEXIST:
                     continue
-                # sshfs might report failure while successfully creating the link
-                if inst[0] == errno.EIO and os.path.exists(name):
-                    os.unlink(name)
-                return False
+                raise
             finally:
                 fd.close()
         except AttributeError:
             return False
+        except OSError as inst:
+            # sshfs might report failure while successfully creating the link
+            if inst[0] == errno.EIO and os.path.exists(name):
+                os.unlink(name)
+            return False
 
 def checkosfilename(path):
     '''Check that the base-relative path is a valid filename on this platform.