remove Read instance for Ref
Removed instance, got it all to build using fromRef. (With a few things that really need to show something using a ref for debugging stubbed out.) Then added back Read instance, and made Logs.View use it for serialization. This changes the view log format.
This commit is contained in:
parent
eb7b8747f9
commit
4e0be2792b
32 changed files with 101 additions and 104 deletions
|
@ -50,7 +50,7 @@ catFileStop (CatFileHandle p _) = CoProcess.stop p
|
|||
{- Reads a file from a specified branch. -}
|
||||
catFile :: CatFileHandle -> Branch -> FilePath -> IO L.ByteString
|
||||
catFile h branch file = catObject h $ Ref $
|
||||
show branch ++ ":" ++ toInternalGitPath file
|
||||
fromRef branch ++ ":" ++ toInternalGitPath file
|
||||
|
||||
{- Uses a running git cat-file read the content of an object.
|
||||
- Objects that do not exist will have "" returned. -}
|
||||
|
@ -60,7 +60,7 @@ catObject h object = maybe L.empty fst3 <$> catObjectDetails h object
|
|||
catObjectDetails :: CatFileHandle -> Ref -> IO (Maybe (L.ByteString, Sha, ObjectType))
|
||||
catObjectDetails (CatFileHandle hdl _) object = CoProcess.query hdl send receive
|
||||
where
|
||||
query = show object
|
||||
query = fromRef object
|
||||
send to = hPutStrLn to query
|
||||
receive from = do
|
||||
header <- hGetLine from
|
||||
|
@ -72,8 +72,8 @@ catObjectDetails (CatFileHandle hdl _) object = CoProcess.query hdl send receive
|
|||
_ -> dne
|
||||
| otherwise -> dne
|
||||
_
|
||||
| header == show object ++ " missing" -> dne
|
||||
| otherwise -> error $ "unknown response from git cat-file " ++ show (header, object)
|
||||
| header == fromRef object ++ " missing" -> dne
|
||||
| otherwise -> error $ "unknown response from git cat-file " ++ show (header, query)
|
||||
readcontent objtype bytes from sha = do
|
||||
content <- S.hGet from bytes
|
||||
eatchar '\n' from
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue