don't try to use ssh connection caching for non-ssh urls

This commit is contained in:
Joey Hess 2014-04-13 21:39:04 -04:00
parent 1040ef5474
commit a0ef99b3f9
Failed to extract signature

View file

@ -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