summaryrefslogtreecommitdiff
path: root/Annex.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-01-20 15:34:52 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-01-20 17:14:56 -0400
commit47250a153a6c5a2864fec15fb136290683aeb1c6 (patch)
tree5c17ef6c035d6c919403e52e61ed0d37c2bfd824 /Annex.hs
parent25f998679cd68cd4bb9b320998253f1b2ae23315 (diff)
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.
Diffstat (limited to 'Annex.hs')
-rw-r--r--Annex.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/Annex.hs b/Annex.hs
index b365132e5..3b79ea270 100644
--- a/Annex.hs
+++ b/Annex.hs
@@ -29,6 +29,7 @@ module Annex (
import Control.Monad.State
import Control.Monad.Trans.Control (StM, MonadBaseControl, liftBaseWith, restoreM)
import Control.Monad.Base (liftBase, MonadBase)
+import System.Posix.Types (Fd)
import Common
import qualified Git
@@ -86,6 +87,7 @@ data AnnexState = AnnexState
, forcetrust :: TrustMap
, trustmap :: Maybe TrustMap
, ciphers :: M.Map EncryptedCipher Cipher
+ , lockpool :: M.Map FilePath Fd
, flags :: M.Map String Bool
, fields :: M.Map String String
}
@@ -108,6 +110,7 @@ newState gitrepo = AnnexState
, forcetrust = M.empty
, trustmap = Nothing
, ciphers = M.empty
+ , lockpool = M.empty
, flags = M.empty
, fields = M.empty
}