don't try to use ssh connection caching for non-ssh urls
This commit is contained in:
parent
1040ef5474
commit
a0ef99b3f9
1 changed files with 16 additions and 12 deletions
28
Annex/Ssh.hs
28
Annex/Ssh.hs
|
@ -250,18 +250,22 @@ inRepoWithSshCachingTo remote a =
|
|||
- and set sshCachingEnv so that git-annex will know what socket
|
||||
- file to use. -}
|
||||
sshCachingTo :: Git.Repo -> Git.Repo -> Annex Git.Repo
|
||||
sshCachingTo remote g = case Git.Url.hostuser remote of
|
||||
Nothing -> return g
|
||||
Just host -> do
|
||||
(msockfile, _) <- sshInfo (host, Git.Url.port remote)
|
||||
case msockfile of
|
||||
Nothing -> return g
|
||||
Just sockfile -> do
|
||||
command <- liftIO readProgramFile
|
||||
prepSocket sockfile
|
||||
liftIO $ do
|
||||
g' <- addGitEnv g sshCachingEnv sockfile
|
||||
addGitEnv g' "GIT_SSH" command
|
||||
sshCachingTo remote g
|
||||
| not (Git.repoIsUrl remote) || Git.repoIsHttp remote = uncached
|
||||
| otherwise = case Git.Url.hostuser remote of
|
||||
Nothing -> uncached
|
||||
Just host -> do
|
||||
(msockfile, _) <- sshInfo (host, Git.Url.port remote)
|
||||
case msockfile of
|
||||
Nothing -> return g
|
||||
Just sockfile -> do
|
||||
command <- liftIO readProgramFile
|
||||
prepSocket sockfile
|
||||
liftIO $ do
|
||||
g' <- addGitEnv g sshCachingEnv sockfile
|
||||
addGitEnv g' "GIT_SSH" command
|
||||
where
|
||||
uncached = return g
|
||||
|
||||
runSshCaching :: [String] -> String -> IO ()
|
||||
runSshCaching args sockfile = do
|
||||
|
|
Loading…
Reference in a new issue