summaryrefslogtreecommitdiff
path: root/Remote
diff options
context:
space:
mode:
Diffstat (limited to 'Remote')
-rw-r--r--Remote/GCrypt.hs9
-rw-r--r--Remote/Git.hs3
-rw-r--r--Remote/Helper/Ssh.hs2
3 files changed, 9 insertions, 5 deletions
diff --git a/Remote/GCrypt.hs b/Remote/GCrypt.hs
index 79020f40c..ea101a770 100644
--- a/Remote/GCrypt.hs
+++ b/Remote/GCrypt.hs
@@ -326,7 +326,8 @@ store r rsyncopts
return True
| Git.repoIsSsh (repo r) = if accessShell r
then fileStorer $ \k f p -> Ssh.rsyncHelper (Just p)
- =<< Ssh.rsyncParamsRemote False r Upload k f Nothing
+ =<< Ssh.rsyncParamsRemote False r Upload k f
+ (AssociatedFile Nothing)
else fileStorer $ Remote.Rsync.store rsyncopts
| otherwise = unsupportedUrl
@@ -336,8 +337,10 @@ retrieve r rsyncopts
guardUsable (repo r) (return False) $
sink =<< liftIO (L.readFile $ gCryptLocation r k)
| Git.repoIsSsh (repo r) = if accessShell r
- then fileRetriever $ \f k p ->
- unlessM (Ssh.rsyncHelper (Just p) =<< Ssh.rsyncParamsRemote False r Download k f Nothing) $
+ then fileRetriever $ \f k p -> do
+ ps <- Ssh.rsyncParamsRemote False r Download k f
+ (AssociatedFile Nothing)
+ unlessM (Ssh.rsyncHelper (Just p) ps) $
giveup "rsync failed"
else fileRetriever $ Remote.Rsync.retrieve rsyncopts
| otherwise = unsupportedUrl
diff --git a/Remote/Git.hs b/Remote/Git.hs
index 9cb369e4d..e5d85d2c2 100644
--- a/Remote/Git.hs
+++ b/Remote/Git.hs
@@ -479,8 +479,9 @@ copyFromRemote' r key file dest meterupdate
)
feedprogressback' a = do
u <- getUUID
+ let AssociatedFile afile = file
let fields = (Fields.remoteUUID, fromUUID u)
- : maybe [] (\f -> [(Fields.associatedFile, f)]) file
+ : maybe [] (\f -> [(Fields.associatedFile, f)]) afile
Just (cmd, params) <- Ssh.git_annex_shell ConsumeStdin
(repo r) "transferinfo"
[Param $ key2file key] fields
diff --git a/Remote/Helper/Ssh.hs b/Remote/Helper/Ssh.hs
index 7f64b4645..0bdc3535a 100644
--- a/Remote/Helper/Ssh.hs
+++ b/Remote/Helper/Ssh.hs
@@ -126,7 +126,7 @@ rsyncHelper m params = do
{- Generates rsync parameters that ssh to the remote and asks it
- to either receive or send the key's content. -}
rsyncParamsRemote :: Bool -> Remote -> Direction -> Key -> FilePath -> AssociatedFile -> Annex [CommandParam]
-rsyncParamsRemote unlocked r direction key file afile = do
+rsyncParamsRemote unlocked r direction key file (AssociatedFile afile) = do
u <- getUUID
let fields = (Fields.remoteUUID, fromUUID u)
: (Fields.unlocked, if unlocked then "1" else "")