factor out utility function
This commit is contained in:
parent
fd7e9431ff
commit
fd1382f96f
2 changed files with 9 additions and 7 deletions
|
@ -66,15 +66,10 @@ changeAssociatedFiles key transform = do
|
||||||
let files' = transform files
|
let files' = transform files
|
||||||
when (files /= files') $ do
|
when (files /= files') $ do
|
||||||
modifyContent mapping $
|
modifyContent mapping $
|
||||||
liftIO $ viaTmp write mapping $ unlines files'
|
liftIO $ viaTmp writeFileAnyEncoding mapping $
|
||||||
|
unlines files'
|
||||||
top <- fromRepo Git.repoPath
|
top <- fromRepo Git.repoPath
|
||||||
return $ map (top </>) files'
|
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. -}
|
{- Removes the list of associated files. -}
|
||||||
removeAssociatedFiles :: Key -> Annex ()
|
removeAssociatedFiles :: Key -> Annex ()
|
||||||
|
|
|
@ -40,6 +40,13 @@ readFileStrictAnyEncoding f = withFile f ReadMode $ \h -> do
|
||||||
fileEncoding h
|
fileEncoding h
|
||||||
hClose h `after` hGetContentsStrict 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
|
{- Like break, but the item matching the condition is not included
|
||||||
- in the second result list.
|
- in the second result list.
|
||||||
-
|
-
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue