mercurial/util.py
changeset 23899 4e451d1359de
parent 23864 6c44cef5baa2
child 23917 3cbb5bf4035d
--- a/mercurial/util.py	Thu Jan 15 16:51:13 2015 -0800
+++ b/mercurial/util.py	Mon Jan 05 12:39:09 2015 -0800
@@ -716,10 +716,16 @@
 
     return check
 
-def copyfile(src, dest):
+def copyfile(src, dest, hardlink=False):
     "copy a file, preserving mode and atime/mtime"
     if os.path.lexists(dest):
         unlink(dest)
+    if hardlink:
+        try:
+            oslink(src, dest)
+            return
+        except (IOError, OSError):
+            pass # fall back to normal copy
     if os.path.islink(src):
         os.symlink(os.readlink(src), dest)
     else: