diff options
author | 2013-02-15 16:02:35 -0400 | |
---|---|---|
committer | 2013-02-15 16:03:11 -0400 | |
commit | d3a9ae31978538f7d43b70a8b99ebc9580a9ab62 (patch) | |
tree | d1fd6818d5489bdbf3bcbe6cbac7eb27011a539a /Annex/Direct.hs | |
parent | 9428ea01ffb76eeb049ba81d7246084df13187cb (diff) |
start to support core.symlinks=false
Utility functions to handle no symlink mode, and converted Annex.Content to
use them; still many other places to convert.
Diffstat (limited to 'Annex/Direct.hs')
-rw-r--r-- | Annex/Direct.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Annex/Direct.hs b/Annex/Direct.hs index 733cb9356..a4839d509 100644 --- a/Annex/Direct.hs +++ b/Annex/Direct.hs @@ -155,8 +155,8 @@ mergeDirectCleanup d oldsha newsha = do - Symlinks are replaced with their content, if it's available. -} movein k f = do l <- calcGitLink f k - liftIO $ replaceFile f $ const $ - createSymbolicLink l f + replaceFile f $ const $ + liftIO $ createSymbolicLink l f toDirect k f {- Any new, modified, or renamed files were written to the temp @@ -181,14 +181,15 @@ toDirectGen k f = do {- Move content from annex to direct file. -} updateInodeCache k loc thawContent loc - liftIO $ replaceFile f $ moveFile loc + replaceFile f $ + liftIO . moveFile loc , return Nothing ) (loc':_) -> ifM (liftIO $ catchBoolIO $ not . isSymbolicLink <$> getSymbolicLinkStatus loc') {- Another direct file has the content; copy it. -} - ( return $ Just $ do - liftIO $ replaceFile f $ - void . copyFileExternal loc' + ( return $ Just $ + replaceFile f $ + void . liftIO . copyFileExternal loc' , return Nothing ) |