ssh connection caching

Ssh connection caching is now enabled automatically by git-annex. Only one
ssh connection is made to each host per git-annex run, which can speed some
things up a lot, as well as avoiding repeated password prompts. Concurrent
git-annex processes also share ssh connections. Cached ssh connections are
shut down when git-annex exits.

Note: The rsync special remote does not yet participate in the ssh
connection caching.
This commit is contained in:
Joey Hess 2012-01-20 15:34:52 -04:00
parent 25f998679c
commit 47250a153a
9 changed files with 173 additions and 23 deletions

View file

@ -22,6 +22,7 @@ import qualified Annex.Queue
import qualified Git
import qualified Git.Command
import Annex.Content
import Annex.Ssh
import Command
type Params = [String]
@ -92,4 +93,5 @@ shutdown :: Annex Bool
shutdown = do
saveState
liftIO Git.Command.reap -- zombies from long-running git processes
sshCleanup -- ssh connection caching
return True