mercurial/posix.py
changeset 30447 0d87b1caed92
parent 30446 b324b4e431e5
child 30448 8836f13e3c5b
--- a/mercurial/posix.py	Wed Jan 14 01:15:26 2015 +0100
+++ b/mercurial/posix.py	Thu Nov 17 12:59:36 2016 +0100
@@ -219,9 +219,16 @@
     # mktemp is not racy because symlink creation will fail if the
     # file already exists
     while True:
-        name = tempfile.mktemp(dir=path, prefix='hg-checklink-')
+        cachedir = os.path.join(path, '.hg', 'cache')
+        if os.path.isdir(cachedir):
+            checkdir = cachedir
+        else:
+            checkdir = path
+            cachedir = None
+        name = tempfile.mktemp(dir=checkdir, prefix='checklink-')
         try:
-            fd = tempfile.NamedTemporaryFile(dir=path, prefix='hg-checklink-')
+            fd = tempfile.NamedTemporaryFile(dir=checkdir,
+                                             prefix='hg-checklink-')
             try:
                 os.symlink(os.path.basename(fd.name), name)
                 os.unlink(name)