posix: move checkexec test file to .hg/cache
authorMads Kiilerich <madski@unity3d.com>
Thu, 17 Nov 2016 12:59:36 +0100
changeset 30444 b1ce25a40826
parent 30443 4e1eab73c53d
child 30445 1ce4c2062ab0
posix: move checkexec test file to .hg/cache This avoids unnecessary churn in the working directory. It is not necessarily a fully valid assumption that .hg/cache is on the same filesystem as the working directory, but I think it is an acceptable approximation. It could also be the case that different parts of the working directory is on different mount points so checking in the root folder could also be wrong.
mercurial/posix.py
--- a/mercurial/posix.py	Thu Nov 17 15:31:19 2016 -0800
+++ b/mercurial/posix.py	Thu Nov 17 12:59:36 2016 +0100
@@ -160,7 +160,10 @@
 
     try:
         EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
-        fh, fn = tempfile.mkstemp(dir=path, prefix='hg-checkexec-')
+        cachedir = os.path.join(path, '.hg', 'cache')
+        if not os.path.isdir(cachedir):
+            cachedir = path
+        fh, fn = tempfile.mkstemp(dir=cachedir, prefix='hg-checkexec-')
         try:
             os.close(fh)
             m = os.stat(fn).st_mode & 0o777