diff options
author | Joey Hess <joey@kitenet.net> | 2013-01-06 14:29:01 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-01-06 14:29:01 -0400 |
commit | a6cd089cea9b2e6d12461f02ca7fbef9b12d403c (patch) | |
tree | 5a6ed63807b8b012f42f8f8f2ab6da5e5883d342 /Remote/Glacier.hs | |
parent | 3bac971ac22afd706d7ad52013c86a7dae80c684 (diff) |
Fix transferring files to special remotes in direct mode.
Diffstat (limited to 'Remote/Glacier.hs')
-rw-r--r-- | Remote/Glacier.hs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Remote/Glacier.hs b/Remote/Glacier.hs index 04b70e2f1..37fcb0c9f 100644 --- a/Remote/Glacier.hs +++ b/Remote/Glacier.hs @@ -23,6 +23,7 @@ import Crypto import Creds import Meters import qualified Annex +import Annex.Content import System.Process @@ -84,17 +85,15 @@ store r k _f m | keySize k == Just 0 = do warning "Cannot store empty files in Glacier." return False - | otherwise = do - src <- inRepo $ gitAnnexLocation k + | otherwise = sendAnnex k $ \src -> metered (Just m) k $ \meterupdate -> storeHelper r k $ streamMeteredFile src meterupdate storeEncrypted :: Remote -> (Cipher, Key) -> Key -> MeterUpdate -> Annex Bool -storeEncrypted r (cipher, enck) k m = do - f <- inRepo $ gitAnnexLocation k +storeEncrypted r (cipher, enck) k m = sendAnnex k $ \src -> do metered (Just m) k $ \meterupdate -> storeHelper r enck $ \h -> - encrypt cipher (feedFile f) + encrypt cipher (feedFile src) (readBytes $ meteredWrite meterupdate h) retrieve :: Remote -> Key -> AssociatedFile -> FilePath -> Annex Bool |