diff options
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Add.hs | 4 | ||||
-rw-r--r-- | Command/Fix.hs | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Command/Add.hs b/Command/Add.hs index e0a8269aa..88515d79f 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -24,8 +24,10 @@ import Annex.Link import qualified Annex import qualified Annex.Queue #ifndef __ANDROID__ +#ifdef WTTH_CLIBS import Utility.Touch #endif +#endif import Utility.FileMode import Config import Utility.InodeCache @@ -206,12 +208,14 @@ link file key mcache = flip catchAnnex (undo file key) $ do replaceFile file $ makeAnnexLink l #ifndef __ANDROID__ +#ifdef WITH_CLIBS -- touch symlink to have same time as the original file, -- as provided in the InodeCache case mcache of Just c -> liftIO $ touch file (TimeSpec $ inodeCacheToMtime c) False Nothing -> noop #endif +#endif return l diff --git a/Command/Fix.hs b/Command/Fix.hs index da2627619..a1e30eafa 100644 --- a/Command/Fix.hs +++ b/Command/Fix.hs @@ -15,8 +15,10 @@ import Common.Annex import Command import qualified Annex.Queue #ifndef __ANDROID__ +#ifdef WITH_CLIBS import Utility.Touch #endif +#endif def :: [Command] def = [notDirect $ noCommit $ command "fix" paramPaths seek @@ -37,16 +39,20 @@ perform :: FilePath -> FilePath -> CommandPerform perform file link = do liftIO $ do #ifndef __ANDROID__ +#ifdef WITH_CLIBS -- preserve mtime of symlink mtime <- catchMaybeIO $ TimeSpec . modificationTime <$> getSymbolicLinkStatus file #endif +#endif createDirectoryIfMissing True (parentDir file) removeFile file createSymbolicLink link file #ifndef __ANDROID__ +#ifdef WITH_CLIBS maybe noop (\t -> touch file t False) mtime #endif +#endif next $ cleanup file cleanup :: FilePath -> CommandCleanup |