mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
Merge pull request #1158 from efiop/master
osx: reflink: check if clib has clonefile()
This commit is contained in:
+3
-6
@@ -36,15 +36,12 @@ class System(object):
|
||||
@staticmethod
|
||||
def _reflink_darwin(src, dst):
|
||||
import ctypes
|
||||
import platform
|
||||
|
||||
version = platform.mac_ver()[0]
|
||||
major, minor, patch = version.split('.')
|
||||
# Starting from High Sierra
|
||||
if major < 10 or (major == 10 and minor < 13):
|
||||
clib = ctypes.CDLL('libc.dylib')
|
||||
if not hasattr(clib, 'clonefile'):
|
||||
return -1
|
||||
|
||||
clonefile = ctypes.CDLL('libc.dylib').clonefile
|
||||
clonefile = clib.clonefile
|
||||
clonefile.argtypes = [ctypes.c_char_p,
|
||||
ctypes.c_char_p,
|
||||
ctypes.c_int]
|
||||
|
||||
Reference in New Issue
Block a user