--- a/mercurial/posix.py Tue Apr 05 16:55:47 2011 +0800
+++ b/mercurial/posix.py Tue Apr 05 11:55:52 2011 +0200
@@ -135,6 +135,18 @@
return False
return not (new_file_has_exec or exec_flags_cannot_flip)
+def checklink(path):
+ """check whether the given path is on a symlink-capable filesystem"""
+ # mktemp is not racy because symlink creation will fail if the
+ # file already exists
+ name = tempfile.mktemp(dir=path, prefix='hg-checklink-')
+ try:
+ os.symlink(".", name)
+ os.unlink(name)
+ return True
+ except (OSError, AttributeError):
+ return False
+
def set_binary(fd):
pass