diff -r 9189ae05467d -r efe7ef325737 mercurial/util.py --- a/mercurial/util.py Sun Sep 30 16:38:42 2007 +0200 +++ b/mercurial/util.py Tue Oct 02 20:25:35 2007 +0200 @@ -1095,7 +1095,7 @@ 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