diff options
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/Ssh.hs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Annex/Ssh.hs b/Annex/Ssh.hs index 99b3c4435..940cbb5a7 100644 --- a/Annex/Ssh.hs +++ b/Annex/Ssh.hs @@ -63,16 +63,18 @@ sshInfo (host, port) = go =<< sshCacheDir , Params "-o ControlMaster=auto -o ControlPersist=yes" ] -{- ssh connection caching creates sockets, so will not work on all file - - systems. A GIT_ANNEX_TMP_DIR can be provided to use +{- ssh connection caching creates sockets, so will not work on a + - crippled filesystem. A GIT_ANNEX_TMP_DIR can be provided to use - a different filesystem. -} sshCacheDir :: Annex (Maybe FilePath) sshCacheDir - | SysConfig.sshconnectioncaching = - ifM (fromMaybe True . annexSshCaching <$> Annex.getGitConfig) + | SysConfig.sshconnectioncaching = ifM crippledFileSystem + ( maybe (return Nothing) usetmpdir =<< gettmpdir + , ifM (fromMaybe True . annexSshCaching <$> Annex.getGitConfig) ( Just <$> fromRepo gitAnnexSshDir - , maybe (return Nothing) usetmpdir =<< gettmpdir + , return Nothing ) + ) | otherwise = return Nothing where gettmpdir = liftIO $ getEnv "GIT_ANNEX_TMP_DIR" |