scmutil: don't try to match modes on filesystems without modes (issue3740) stable
authorMatt Mackall <mpm@selenic.com>
Thu, 20 Dec 2012 15:52:23 -0600
branchstable
changeset 18192 f9a89bdd64a6
parent 18191 e4f17956f45a
child 18193 120e1160d17e
scmutil: don't try to match modes on filesystems without modes (issue3740)
mercurial/scmutil.py
--- a/mercurial/scmutil.py	Sat Dec 22 18:11:51 2012 -0600
+++ b/mercurial/scmutil.py	Thu Dec 20 15:52:23 2012 -0600
@@ -262,8 +262,12 @@
     def _cansymlink(self):
         return util.checklink(self.base)
 
+    @util.propertycache
+    def _chmod(self):
+        return util.checkexec(self.base)
+
     def _fixfilemode(self, name):
-        if self.createmode is None:
+        if self.createmode is None or not self._chmod:
             return
         os.chmod(name, self.createmode & 0666)