diff options
author | 2012-01-20 13:23:11 -0400 | |
---|---|---|
committer | 2012-01-20 13:23:11 -0400 | |
commit | 61dbad505d648f13394018c31ce2d718c175007e (patch) | |
tree | 96f087d5ec3e3eab6cf45b5a7d49cfb2b0dfa7f7 /Remote/S3.hs | |
parent | e96726caa31fd76413b450790860611f71d13915 (diff) |
fsck --from remote --fast
Avoids expensive file transfers, at the expense of checking file size
and/or contents.
Required some reworking of the remote code.
Diffstat (limited to 'Remote/S3.hs')
-rw-r--r-- | Remote/S3.hs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Remote/S3.hs b/Remote/S3.hs index b87944824..1d23b7d6f 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -53,6 +53,7 @@ gen' r u c cst = name = Git.repoDescribe r, storeKey = store this, retrieveKeyFile = retrieve this, + retrieveKeyFileCheap = retrieveCheap this, removeKey = remove this, hasKey = checkPresent this, hasKeyCheap = False, @@ -149,8 +150,8 @@ storeHelper (conn, bucket) r k file = do xheaders = filter isxheader $ M.assocs $ fromJust $ config r isxheader (h, _) = "x-amz-" `isPrefixOf` h -retrieve :: Remote -> Key -> Bool -> FilePath -> Annex Bool -retrieve r k _ f = s3Action r False $ \(conn, bucket) -> do +retrieve :: Remote -> Key -> FilePath -> Annex Bool +retrieve r k f = s3Action r False $ \(conn, bucket) -> do res <- liftIO $ getObject conn $ bucketKey r bucket k case res of Right o -> do @@ -158,6 +159,9 @@ retrieve r k _ f = s3Action r False $ \(conn, bucket) -> do return True Left e -> s3Warning e +retrieveCheap :: Remote -> Key -> FilePath -> Annex Bool +retrieveCheap _ _ _ = return False + retrieveEncrypted :: Remote -> (Cipher, Key) -> FilePath -> Annex Bool retrieveEncrypted r (cipher, enck) f = s3Action r False $ \(conn, bucket) -> do res <- liftIO $ getObject conn $ bucketKey r bucket enck |