mercurial/util.py
changeset 5351 efe7ef325737
parent 5293 32ec518ee3cb
parent 5350 1df76921aab3
child 5356 b98c377b3c16
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1095,7 +1095,7 @@ else:
 
     def set_exec(f, mode):
         s = os.lstat(f).st_mode
-        if (s & 0100 != 0) == mode:
+        if stat.S_ISLNK(s) or (s & 0100 != 0) == mode:
             return
         if mode:
             # Turn on +x for every +r bit when making a file executable