##// END OF EJS Templates
posix: give the cached symlink a real target...
Martijn Pieters -
r30555:6a672c3b default
parent child Browse files
Show More
@@ -231,10 +231,18 b' def checklink(path):'
231 cachedir = None
231 cachedir = None
232 name = tempfile.mktemp(dir=checkdir, prefix='checklink-')
232 name = tempfile.mktemp(dir=checkdir, prefix='checklink-')
233 try:
233 try:
234 fd = tempfile.NamedTemporaryFile(dir=checkdir,
234 fd = None
235 prefix='hg-checklink-')
235 if cachedir is None:
236 fd = tempfile.NamedTemporaryFile(dir=checkdir,
237 prefix='hg-checklink-')
238 target = os.path.basename(fd.name)
239 else:
240 # create a fixed file to link to; doesn't matter if it
241 # already exists.
242 target = 'checklink-target'
243 open(os.path.join(cachedir, target), 'w').close()
236 try:
244 try:
237 os.symlink(os.path.basename(fd.name), name)
245 os.symlink(target, name)
238 if cachedir is None:
246 if cachedir is None:
239 os.unlink(name)
247 os.unlink(name)
240 else:
248 else:
@@ -249,7 +257,8 b' def checklink(path):'
249 continue
257 continue
250 raise
258 raise
251 finally:
259 finally:
252 fd.close()
260 if fd is not None:
261 fd.close()
253 except AttributeError:
262 except AttributeError:
254 return False
263 return False
255 except OSError as inst:
264 except OSError as inst:
@@ -33,6 +33,7 b' Trigger branchcache creation:'
33 branch2-served
33 branch2-served
34 checkisexec
34 checkisexec
35 checklink
35 checklink
36 checklink-target
36 checknoexec
37 checknoexec
37 rbc-names-v1
38 rbc-names-v1
38 rbc-revs-v1
39 rbc-revs-v1
@@ -50,6 +51,7 b' Ensure branchcache got copied over:'
50 branch2-served
51 branch2-served
51 checkisexec
52 checkisexec
52 checklink
53 checklink
54 checklink-target
53
55
54 $ cat a
56 $ cat a
55 a
57 a
@@ -212,6 +212,8 b' r4 has hardlinks in the working dir (not'
212 2 r4/.hg/branch
212 2 r4/.hg/branch
213 2 r4/.hg/cache/branch2-served
213 2 r4/.hg/cache/branch2-served
214 2 r4/.hg/cache/checkisexec
214 2 r4/.hg/cache/checkisexec
215 3 r4/.hg/cache/checklink (?)
216 ? r4/.hg/cache/checklink-target (glob)
215 2 r4/.hg/cache/checknoexec
217 2 r4/.hg/cache/checknoexec
216 2 r4/.hg/cache/rbc-names-v1
218 2 r4/.hg/cache/rbc-names-v1
217 2 r4/.hg/cache/rbc-revs-v1
219 2 r4/.hg/cache/rbc-revs-v1
@@ -250,6 +252,7 b' Update back to revision 11 in r4 should '
250 1 r4/.hg/branch
252 1 r4/.hg/branch
251 2 r4/.hg/cache/branch2-served
253 2 r4/.hg/cache/branch2-served
252 2 r4/.hg/cache/checkisexec
254 2 r4/.hg/cache/checkisexec
255 2 r4/.hg/cache/checklink-target
253 2 r4/.hg/cache/checknoexec
256 2 r4/.hg/cache/checknoexec
254 2 r4/.hg/cache/rbc-names-v1
257 2 r4/.hg/cache/rbc-names-v1
255 2 r4/.hg/cache/rbc-revs-v1
258 2 r4/.hg/cache/rbc-revs-v1
@@ -674,6 +674,7 b' Missing tags2* files means the cache was'
674 branch2-served
674 branch2-served
675 checkisexec
675 checkisexec
676 checklink
676 checklink
677 checklink-target
677 hgtagsfnodes1
678 hgtagsfnodes1
678 rbc-names-v1
679 rbc-names-v1
679 rbc-revs-v1
680 rbc-revs-v1
@@ -700,6 +701,7 b' Running hg tags should produce tags2* fi'
700 branch2-served
701 branch2-served
701 checkisexec
702 checkisexec
702 checklink
703 checklink
704 checklink-target
703 hgtagsfnodes1
705 hgtagsfnodes1
704 rbc-names-v1
706 rbc-names-v1
705 rbc-revs-v1
707 rbc-revs-v1
General Comments 0
You need to be logged in to leave comments. Login now