use ByteStrings when reading content of files

didn't bother to benchmark this
This commit is contained in:
Joey Hess 2011-09-29 19:19:28 -04:00
parent a91c8a15d5
commit 67f2b7cb3e
2 changed files with 16 additions and 15 deletions

13
Git.hs
View file

@ -55,7 +55,6 @@ module Git (
repoAbsPath,
reap,
useIndex,
hashObject,
getSha,
shaSize,
commit,
@ -417,18 +416,6 @@ useIndex index = do
reset (Right (Just v)) = setEnv var v True
reset _ = unsetEnv var
{- Injects some content into git, returning its hash. -}
hashObject :: Repo -> String -> IO String
hashObject repo content = getSha subcmd $ do
(h, s) <- pipeWriteRead repo (map Param params) content
length s `seq` do
forceSuccess h
reap -- XXX unsure why this is needed
return s
where
subcmd = "hash-object"
params = [subcmd, "-w", "--stdin"]
{- Runs an action that causes a git subcommand to emit a sha, and strips
any trailing newline, returning the sha. -}
getSha :: String -> IO String -> IO String