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/WebDAV.hs | |
parent | 3bac971ac22afd706d7ad52013c86a7dae80c684 (diff) |
Fix transferring files to special remotes in direct mode.
Diffstat (limited to 'Remote/WebDAV.hs')
-rw-r--r-- | Remote/WebDAV.hs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/Remote/WebDAV.hs b/Remote/WebDAV.hs index 752e0d7ff..21a1456bf 100644 --- a/Remote/WebDAV.hs +++ b/Remote/WebDAV.hs @@ -30,6 +30,7 @@ import Remote.Helper.Chunked import Crypto import Creds import Meters +import Annex.Content type DavUrl = String type DavUser = B8.ByteString @@ -82,16 +83,14 @@ webdavSetup u c = do store :: Remote -> Key -> AssociatedFile -> MeterUpdate -> Annex Bool store r k _f p = metered (Just p) k $ \meterupdate -> - davAction r False $ \(baseurl, user, pass) -> do - f <- inRepo $ gitAnnexLocation k - liftIO $ withMeteredFile f meterupdate $ + davAction r False $ \(baseurl, user, pass) -> sendAnnex k $ \src -> + liftIO $ withMeteredFile src meterupdate $ storeHelper r k baseurl user pass storeEncrypted :: Remote -> (Cipher, Key) -> Key -> MeterUpdate -> Annex Bool storeEncrypted r (cipher, enck) k p = metered (Just p) k $ \meterupdate -> - davAction r False $ \(baseurl, user, pass) -> do - f <- inRepo $ gitAnnexLocation k - liftIO $ encrypt cipher (streamMeteredFile f meterupdate) $ + davAction r False $ \(baseurl, user, pass) -> sendAnnex k $ \src -> + liftIO $ encrypt cipher (streamMeteredFile src meterupdate) $ readBytes $ storeHelper r enck baseurl user pass storeHelper :: Remote -> Key -> DavUrl -> DavUser -> DavPass -> L.ByteString -> IO Bool |