summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Content.hs19
1 files changed, 10 insertions, 9 deletions
diff --git a/Content.hs b/Content.hs
index d24fc9ac7..937ebd542 100644
--- a/Content.hs
+++ b/Content.hs
@@ -235,10 +235,11 @@ moveBad key = do
g <- Annex.gitRepo
let src = gitAnnexLocation g key
let dest = gitAnnexBadDir g </> takeFileName src
- liftIO $ createDirectoryIfMissing True (parentDir dest)
- liftIO $ allowWrite (parentDir src)
- liftIO $ renameFile src dest
- liftIO $ removeDirectory (parentDir src)
+ liftIO $ do
+ createDirectoryIfMissing True (parentDir dest)
+ allowWrite (parentDir src)
+ renameFile src dest
+ removeDirectory (parentDir src)
logStatus key ValueMissing
return dest
@@ -252,12 +253,12 @@ getKeysPresent' dir = do
exists <- liftIO $ doesDirectoryExist dir
if (not exists)
then return []
- else do
+ else liftIO $ do
-- 2 levels of hashing
- levela <- liftIO $ dirContents dir
- levelb <- liftIO $ mapM dirContents levela
- contents <- liftIO $ mapM dirContents (concat levelb)
- files <- liftIO $ filterM present (concat contents)
+ levela <- dirContents dir
+ levelb <- mapM dirContents levela
+ contents <- mapM dirContents (concat levelb)
+ files <- filterM present (concat contents)
return $ catMaybes $ map (fileKey . takeFileName) files
where
present d = do