diff --git a/Annex/CatFile.hs b/Annex/CatFile.hs index 88c498d315..b22a090e8a 100644 --- a/Annex/CatFile.hs +++ b/Annex/CatFile.hs @@ -7,6 +7,7 @@ module Annex.CatFile ( catFile, + catFileIndex, catObject, catObjectDetails, catFileHandle @@ -25,6 +26,11 @@ catFile branch file = do h <- catFileHandle liftIO $ Git.CatFile.catFile h branch file +catFileIndex :: FilePath -> Annex L.ByteString +catFileIndex file = do + h <- catFileHandle + liftIO $ Git.CatFile.catFileIndex h file + catObject :: Git.Ref -> Annex L.ByteString catObject ref = do h <- catFileHandle diff --git a/Git/CatFile.hs b/Git/CatFile.hs index e667b20879..1481bb462f 100644 --- a/Git/CatFile.hs +++ b/Git/CatFile.hs @@ -10,6 +10,7 @@ module Git.CatFile ( catFileStart, catFileStop, catFile, + catFileIndex, catObject, catObjectDetails, ) where @@ -40,6 +41,10 @@ catFileStop = CoProcess.stop catFile :: CatFileHandle -> Branch -> FilePath -> IO L.ByteString catFile h branch file = catObject h $ Ref $ show branch ++ ":" ++ file +{- Reads a file from the index. -} +catFileIndex :: CatFileHandle -> FilePath -> IO L.ByteString +catFileIndex h file = catObject h $ Ref $ ':' : file + {- Uses a running git cat-file read the content of an object. - Objects that do not exist will have "" returned. -} catObject :: CatFileHandle -> Ref -> IO L.ByteString