{- git-annex file copying - - Copyright 2010 Joey Hess - - Licensed under the GNU GPL version 3 or higher. -} module CopyFile (copyFile) where import Utility import qualified SysConfig {- The cp command is used, because I hate reinventing the wheel, - and because this allows easy access to features like cp --reflink. -} copyFile :: FilePath -> FilePath -> IO Bool copyFile src dest = boolSystem "cp" opts where opts = if (SysConfig.cp_reflink_auto) then ["--reflink=auto", src, dest] else if (SysConfig.cp_a) then ["-a", src, dest] else if (SysConfig.cp_p) then ["-p", src, dest] else [src, dest]