simplify interface by removing size

Add size to the returned key after the fact, unless the remote happened
to add it itself.
This commit is contained in:
Joey Hess 2020-07-03 14:22:22 -04:00
parent 85cd79ea01
commit 57cceac569
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 8 additions and 4 deletions

View file

@ -391,7 +391,11 @@ importKeys remote importtreeconfig importcontent importablecontents = do
Nothing -> error "internal" -- checked earlier
Just a -> do
let importer p = do
k <- a loc cid sz p
unsizedk <- a loc cid p
-- This avoids every remote needing
-- to add the size.
let k = alterKey unsizedk $ \kd -> kd
{ keySize = keySize kd <|> Just sz }
checkSecureHashes k >>= \case
Nothing -> do
recordcidkey cidmap db cid k

View file

@ -350,8 +350,8 @@ guardSameContentIdentifiers cont old new
| new == Just old = cont
| otherwise = giveup "file content has changed"
importKeyM :: FilePath -> ExportLocation -> ContentIdentifier -> ByteSize -> MeterUpdate -> Annex Key
importKeyM dir loc cid sz p = do
importKeyM :: FilePath -> ExportLocation -> ContentIdentifier -> MeterUpdate -> Annex Key
importKeyM dir loc cid p = do
backend <- chooseBackend (fromRawFilePath f)
k <- fst <$> genKey ks p backend
currcid <- liftIO $ mkContentIdentifier absf =<< getFileStatus absf

View file

@ -287,7 +287,7 @@ data ImportActions a = ImportActions
-- since the ContentIdentifier was generated.
--
-- Throws exception on failure.
, importKey :: Maybe (ExportLocation -> ContentIdentifier -> ByteSize -> MeterUpdate -> a Key)
, importKey :: Maybe (ExportLocation -> ContentIdentifier -> MeterUpdate -> a Key)
-- Retrieves a file from the remote. Ensures that the file
-- it retrieves has the requested ContentIdentifier.
--