diff mercurial/util.py @ 24902:986a5c23b1c1 stable

util.checkcase: don't abort on broken symlinks One case where that would happen is while trying to resolve a subrepo, if the path to the subrepo was actually a broken symlink. This bug was exposed by an hg-git test.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 03 May 2015 12:49:15 -0700
parents 144883a8d0d4
children 754df8e932d3
line wrap: on
line diff
--- a/mercurial/util.py	Fri May 01 16:49:15 2015 -0500
+++ b/mercurial/util.py	Sun May 03 12:49:15 2015 -0700
@@ -877,7 +877,7 @@
     Requires a path (like /foo/.hg) ending with a foldable final
     directory component.
     """
-    s1 = os.stat(path)
+    s1 = os.lstat(path)
     d, b = os.path.split(path)
     b2 = b.upper()
     if b == b2:
@@ -886,7 +886,7 @@
             return True # no evidence against case sensitivity
     p2 = os.path.join(d, b2)
     try:
-        s2 = os.stat(p2)
+        s2 = os.lstat(p2)
         if s2 == s1:
             return False
         return True