better interface for catKey'

It only needs the size, so don't require the other stuff. Should let it
be used in more places, making things faster.
This commit is contained in:
Joey Hess 2021-03-16 14:52:23 -04:00
parent 69dd214d59
commit 8bae692486
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 9 additions and 4 deletions

View file

@ -133,10 +133,12 @@ catFileStop = do
{- From ref to a symlink or a pointer file, get the key. -}
catKey :: Ref -> Annex (Maybe Key)
catKey ref = catKey' ref =<< catObjectMetaData ref
catKey ref = catObjectMetaData ref >>= \case
Just (_, sz, _) -> catKey' ref sz
Nothing -> return Nothing
catKey' :: Ref -> Maybe (Sha, Integer, ObjectType) -> Annex (Maybe Key)
catKey' ref (Just (_, sz, _))
catKey' :: Ref -> FileSize -> Annex (Maybe Key)
catKey' ref sz
-- Avoid catting large files, that cannot be symlinks or
-- pointer files, which would require buffering their
-- content in memory, as well as a lot of IO.