factor out utility function

This commit is contained in:
Joey Hess 2014-02-03 10:08:28 -04:00
parent fd7e9431ff
commit fd1382f96f
2 changed files with 9 additions and 7 deletions

View file

@ -66,15 +66,10 @@ changeAssociatedFiles key transform = do
let files' = transform files
when (files /= files') $ do
modifyContent mapping $
liftIO $ viaTmp write mapping $ unlines files'
liftIO $ viaTmp writeFileAnyEncoding mapping $
unlines files'
top <- fromRepo Git.repoPath
return $ map (top </>) files'
where
write file content = do
h <- openFile file WriteMode
fileEncoding h
hPutStr h content
hClose h
{- Removes the list of associated files. -}
removeAssociatedFiles :: Key -> Annex ()

View file

@ -40,6 +40,13 @@ readFileStrictAnyEncoding f = withFile f ReadMode $ \h -> do
fileEncoding h
hClose h `after` hGetContentsStrict h
{- Writes a file, using the FileSystemEncoding so it will never crash
- on a badly encoded content string. -}
writeFileAnyEncoding :: FilePath -> String -> IO ()
writeFileAnyEncoding f content = withFile f WriteMode $ \h -> do
fileEncoding h
hPutStr h content
{- Like break, but the item matching the condition is not included
- in the second result list.
-