From 65c7bfcc55ec2243e1f4dcb5bbca54dce494bc63 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 13 Apr 2014 21:39:04 -0400 Subject: don't try to use ssh connection caching for non-ssh urls --- Annex/Ssh.hs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'Annex/Ssh.hs') diff --git a/Annex/Ssh.hs b/Annex/Ssh.hs index 06e3ac449..7ead526cb 100644 --- a/Annex/Ssh.hs +++ b/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 -- cgit v1.2.3