diff options
author | Joey Hess <joey@kitenet.net> | 2013-05-11 23:11:56 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-05-11 23:11:56 -0400 |
commit | c46bbe9b5095dc58ab11c106e07179db85a0f1df (patch) | |
tree | c5c49c51841509f0da98715297252dfba11ec8af /Git/HashObject.hs | |
parent | cbc98eee9d583f56d52a70fbff7abe171a1ecebe (diff) |
refactoring
Diffstat (limited to 'Git/HashObject.hs')
-rwxr-xr-x | Git/HashObject.hs | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/Git/HashObject.hs b/Git/HashObject.hs index 5e153687d..bf3ca7f8b 100755 --- a/Git/HashObject.hs +++ b/Git/HashObject.hs @@ -5,8 +5,6 @@ - Licensed under the GNU GPL version 3 or higher. -} -{-# LANGUAGE CPP #-} - module Git.HashObject where import Common @@ -19,7 +17,7 @@ import qualified Utility.CoProcess as CoProcess type HashObjectHandle = CoProcess.CoProcessHandle hashObjectStart :: Repo -> IO HashObjectHandle -hashObjectStart = gitCoProcessStart +hashObjectStart = CoProcess.rawMode <=< gitCoProcessStart [ Param "hash-object" , Param "-w" , Param "--stdin-paths" @@ -32,23 +30,13 @@ hashObjectStop = CoProcess.stop hashFile :: HashObjectHandle -> FilePath -> IO Sha hashFile h file = CoProcess.query h send receive where - send to = do - fileEncoding to -#ifdef __WINDOWS__ - hSetNewlineMode to noNewlineTranslation -#endif - hPutStrLn to file - receive from = getSha "hash-object" $ do -#ifdef __WINDOWS__ - hSetNewlineMode from noNewlineTranslation -#endif - hGetLine from + send to = hPutStrLn to file + receive from = getSha "hash-object" $ hGetLine from {- Injects some content into git, returning its Sha. -} hashObject :: ObjectType -> String -> Repo -> IO Sha -hashObject objtype content repo = getSha subcmd $ do - s <- pipeWriteRead (map Param params) content repo - return s +hashObject objtype content repo = getSha subcmd $ + pipeWriteRead (map Param params) content repo where subcmd = "hash-object" params = [subcmd, "-t", show objtype, "-w", "--stdin"] |