It re-exports modificationTimeHiRes, and provides a windows version.
Might be worth using that windows version eventually, but I have not
tested it.
import qualified Utility.RawFilePath as R
#if ! defined(mingw32_HOST_OS)
import Utility.Touch
-import System.Posix.Files (modificationTimeHiRes)
+import qualified System.Posix.Files as Posix
#endif
{- Populates a pointer file with the content of a key.
-- by git in some cases.
liftIO $ maybe noop
(\t -> touch tmp' t False)
- (fmap modificationTimeHiRes st)
+ (fmap Posix.modificationTimeHiRes st)
#endif
withTSDelta (liftIO . genInodeCache (toRawFilePath tmp))
maybe noop (restagePointerFile (Restage True) file) ic
#if ! defined(mingw32_HOST_OS)
import Utility.Touch
-import System.Posix.Files
+import qualified System.Posix.Files as Posix
#endif
cmd :: Command
fixSymlink file link = do
#if ! defined(mingw32_HOST_OS)
-- preserve mtime of symlink
- mtime <- liftIO $ catchMaybeIO $ modificationTimeHiRes
+ mtime <- liftIO $ catchMaybeIO $ Posix.modificationTimeHiRes
<$> R.getSymbolicLinkStatus file
#endif
createWorkTreeDirectory (parentDir file)
#ifdef mingw32_HOST_OS
import Data.Word (Word64)
#else
-import System.Posix.Files
+import qualified System.Posix.Files as Posix
#endif
data InodeCachePrim = InodeCachePrim FileID FileSize MTime
#ifdef mingw32_HOST_OS
mtime <- utcTimeToPOSIXSeconds <$> getModificationTime (fromRawFilePath f)
#else
- let mtime = modificationTimeHiRes s
+ let mtime = Posix.modificationTimeHiRes s
#endif
return $ Just $ InodeCache $ InodeCachePrim inode sz (MTimeHighRes (mtime + highResTime delta))
| otherwise = pure Nothing