From 2bba5bc22d049272d3328bfa6c452d3e2e50e86c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 6 Jan 2015 18:29:07 -0400 Subject: made parentDir return a Maybe FilePath; removed most uses of it parentDir is less safe than takeDirectory, especially when working with relative FilePaths. It's really only useful in loops that want to terminate at / This commit was sponsored by Audric SCHILTKNECHT. --- Annex/Content.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Annex/Content.hs') diff --git a/Annex/Content.hs b/Annex/Content.hs index 37090d3bb..2d52dcefb 100644 --- a/Annex/Content.hs +++ b/Annex/Content.hs @@ -261,7 +261,7 @@ finishGetViaTmp check key action = do prepTmp :: Key -> Annex FilePath prepTmp key = do tmp <- fromRepo $ gitAnnexTmpObjectLocation key - createAnnexDirectory (parentDir tmp) + createAnnexDirectory (takeDirectory tmp) return tmp {- Creates a temp file for a key, runs an action on it, and cleans up @@ -425,7 +425,7 @@ cleanObjectLoc key cleaner = do where removeparents _ 0 = noop removeparents file n = do - let dir = parentDir file + let dir = takeDirectory file maybe noop (const $ removeparents dir (n-1)) <=< catchMaybeIO $ removeDirectory dir @@ -474,7 +474,7 @@ moveBad key = do src <- calcRepo $ gitAnnexLocation key bad <- fromRepo gitAnnexBadDir let dest = bad takeFileName src - createAnnexDirectory (parentDir dest) + createAnnexDirectory (takeDirectory dest) cleanObjectLoc key $ liftIO $ moveFile src dest logStatus key InfoMissing -- cgit v1.2.3