diff options
author | Joey Hess <joey@kitenet.net> | 2011-02-09 01:01:06 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-02-09 01:01:06 -0400 |
commit | 62ebeb00d9f079f079c38798f8496dd666ae1fd5 (patch) | |
tree | c0dfcacd9f5378a956528d6f291fdbe5816fbccd | |
parent | 2bd16f84ae3c6a26bff5eb5e4b39221577191def (diff) |
simpler approach
-rw-r--r-- | test.hs | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -11,7 +11,7 @@ import System.Directory import System.Posix.Directory (changeWorkingDirectory) import System.Posix.Files import IO (bracket_, bracket) -import Control.Monad (unless, when) +import Control.Monad (unless, when, filterM) import Data.List import System.IO.Error import System.Posix.Env @@ -537,13 +537,11 @@ cleanup dir = do e <- doesDirectoryExist dir when e $ do -- git-annex prevents annexed file content from being - -- removed via permissions bits; undo - recurseDir SystemFS dir >>= mapM_ fixmodes + -- removed via directory permissions; undo + recurseDir SystemFS dir >>= + filterM doesDirectoryExist >>= + mapM_ Content.allowWrite removeDirectoryRecursive dir - where - fixmodes f = do - s <- getSymbolicLinkStatus f - unless (isSymbolicLink s) $ Content.allowWrite f checklink :: FilePath -> Assertion checklink f = do |