aboutsummaryrefslogtreecommitdiff
path: root/Annex/CatFile.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-06-10 19:58:34 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-06-10 19:58:34 -0400
commitca9ee21bd771e7f94ecd3916f55b10fb3cc8dcbe (patch)
tree433fe04a4786139e0ff044e6921224d2f63d91c6 /Annex/CatFile.hs
parentc1b432ee54424c3943dee97ff2dd90c4cc533e9b (diff)
crazy optimisation
Crazy like a fox..
Diffstat (limited to 'Annex/CatFile.hs')
-rw-r--r--Annex/CatFile.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Annex/CatFile.hs b/Annex/CatFile.hs
index bcf44551e..afb14c67f 100644
--- a/Annex/CatFile.hs
+++ b/Annex/CatFile.hs
@@ -8,6 +8,7 @@
module Annex.CatFile (
catFile,
catObject,
+ catObjectDetails,
catFileHandle
) where
@@ -17,6 +18,7 @@ import Common.Annex
import qualified Git
import qualified Git.CatFile
import qualified Annex
+import Git.Types
catFile :: Git.Branch -> FilePath -> Annex L.ByteString
catFile branch file = do
@@ -28,6 +30,11 @@ catObject ref = do
h <- catFileHandle
liftIO $ Git.CatFile.catObject h ref
+catObjectDetails :: Git.Ref -> Annex (Maybe (L.ByteString, Sha))
+catObjectDetails ref = do
+ h <- catFileHandle
+ liftIO $ Git.CatFile.catObjectDetails h ref
+
catFileHandle :: Annex Git.CatFile.CatFileHandle
catFileHandle = maybe startup return =<< Annex.getState Annex.catfilehandle
where