summaryrefslogtreecommitdiff
path: root/Annex/Content.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex/Content.hs')
-rw-r--r--Annex/Content.hs10
1 files changed, 3 insertions, 7 deletions
diff --git a/Annex/Content.hs b/Annex/Content.hs
index 5abcb2a9e..6ec3368c6 100644
--- a/Annex/Content.hs
+++ b/Annex/Content.hs
@@ -28,7 +28,6 @@ module Annex.Content (
freezeContent,
thawContent,
replaceFile,
- cleanObjectLoc,
) where
import System.IO.Unsafe (unsafeInterleaveIO)
@@ -330,12 +329,9 @@ withObjectLoc key indirect direct = ifM isDirect
cleanObjectLoc :: Key -> Annex ()
cleanObjectLoc key = do
file <- inRepo $ gitAnnexLocation key
- let dir = parentDir file
unlessM crippledFileSystem $
- void $ liftIO $ catchMaybeIO $ allowWrite dir
- void $ liftIO $ catchMaybeIO $ do
- removeDirectoryRecursive dir
- liftIO $ removeparents dir (2 :: Int)
+ void $ liftIO $ catchMaybeIO $ allowWrite $ parentDir file
+ liftIO $ removeparents file (3 :: Int)
where
removeparents _ 0 = noop
removeparents file n = do
@@ -357,8 +353,8 @@ removeAnnex key = withObjectLoc key remove removedirect
cleanObjectLoc key
removedirect fs = do
cache <- recordedInodeCache key
+ removeInodeCache key
mapM_ (resetfile cache) fs
- cleanObjectLoc key
resetfile cache f = whenM (liftIO $ compareInodeCache f cache) $ do
l <- calcGitLink f key
top <- fromRepo Git.repoPath