avoid git annex info remote buffering list of keys

This leaves git annex unused --from remote still using loggedKeysFor
and buffering more than ought to be necessary, but I can't see a way to
improve that.
This commit is contained in:
Joey Hess 2018-04-26 16:13:05 -04:00
parent bea0ad220a
commit 2fc768ce72
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 15 additions and 4 deletions

View file

@ -27,6 +27,7 @@ module Logs.Location (
finishCheck,
loggedKeys,
loggedKeysFor,
loggedKeysFor',
) where
import Annex.Common
@ -139,10 +140,15 @@ loggedKeys' check = mapMaybe (defercheck <$$> locationLogFileKey)
)
{- Finds all keys that have location log information indicating
- they are present for the specified repository.
- they are present in the specified repository.
-
- This does not stream well; use loggedKeysFor' for lazy streaming.
-}
loggedKeysFor :: UUID -> Annex [Key]
loggedKeysFor u = catMaybes <$> (mapM finishCheck =<< loggedKeys' isthere)
loggedKeysFor u = catMaybes <$> (mapM finishCheck =<< loggedKeysFor' u)
loggedKeysFor' :: UUID -> Annex [Unchecked Key]
loggedKeysFor' u = loggedKeys' isthere
where
isthere k = do
us <- loggedLocations k