diff options
Diffstat (limited to 'Remote/S3.hs')
-rw-r--r-- | Remote/S3.hs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Remote/S3.hs b/Remote/S3.hs index 0c0737841..7f1928608 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -112,8 +112,7 @@ s3Setup u c = handlehost $ M.lookup "host" c M.delete "bucket" defaults store :: Remote -> Key -> AssociatedFile -> MeterUpdate -> Annex Bool -store r k _f p = s3Action r False $ \(conn, bucket) -> do - src <- inRepo $ gitAnnexLocation k +store r k _f p = s3Action r False $ \(conn, bucket) -> sendAnnex k $ \src -> do res <- storeHelper (conn, bucket) r k p src s3Bool res @@ -121,9 +120,8 @@ storeEncrypted :: Remote -> (Cipher, Key) -> Key -> MeterUpdate -> Annex Bool storeEncrypted r (cipher, enck) k p = s3Action r False $ \(conn, bucket) -> -- To get file size of the encrypted content, have to use a temp file. -- (An alternative would be chunking to to a constant size.) - withTmp enck $ \tmp -> do - f <- inRepo $ gitAnnexLocation k - liftIO $ encrypt cipher (feedFile f) $ + withTmp enck $ \tmp -> sendAnnex k $ \src -> do + liftIO $ encrypt cipher (feedFile src) $ readBytes $ L.writeFile tmp res <- storeHelper (conn, bucket) r enck p tmp s3Bool res |