aboutsummaryrefslogtreecommitdiff
path: root/Annex/Ssh.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-05-30 22:01:52 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-05-30 22:01:52 -0400
commitca75ef5d977894295439a033752bfec3ece7f8e8 (patch)
tree8da28dabde9b1c6988fca648e6c4ecb5b0ace146 /Annex/Ssh.hs
parentd57c8823ce69996161f85aca1b2d871f36f9612d (diff)
sync, remotedaemon: Pass configured ssh-options even when annex.sshcaching is disabled.
Diffstat (limited to 'Annex/Ssh.hs')
-rw-r--r--Annex/Ssh.hs21
1 files changed, 12 insertions, 9 deletions
diff --git a/Annex/Ssh.hs b/Annex/Ssh.hs
index 627c04532..52959ef7b 100644
--- a/Annex/Ssh.hs
+++ b/Annex/Ssh.hs
@@ -271,20 +271,23 @@ sshOptionsTo remote gc g
Just host -> do
(msockfile, _) <- sshCachingInfo (host, Git.Url.port remote)
case msockfile of
- Nothing -> return g
+ Nothing -> use []
Just sockfile -> do
- command <- liftIO programPath
prepSocket sockfile
- let val = toSshOptionsEnv $ concat
- [ sshConnectionCachingParams sockfile
- , map Param (remoteAnnexSshOptions gc)
- ]
- liftIO $ do
- g' <- addGitEnv g sshOptionsEnv val
- addGitEnv g' "GIT_SSH" command
+ use (sshConnectionCachingParams sockfile)
where
uncached = return g
+ use opts = do
+ let val = toSshOptionsEnv $ concat
+ [ opts
+ , map Param (remoteAnnexSshOptions gc)
+ ]
+ command <- liftIO programPath
+ liftIO $ do
+ g' <- addGitEnv g sshOptionsEnv val
+ addGitEnv g' "GIT_SSH" command
+
runSshOptions :: [String] -> String -> IO ()
runSshOptions args s = do
let args' = toCommand (fromSshOptionsEnv s) ++ args