diff options
author | Joey Hess <joey@kitenet.net> | 2012-01-20 15:34:52 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-01-20 17:14:56 -0400 |
commit | 47250a153a6c5a2864fec15fb136290683aeb1c6 (patch) | |
tree | 5c17ef6c035d6c919403e52e61ed0d37c2bfd824 /Locations.hs | |
parent | 25f998679cd68cd4bb9b320998253f1b2ae23315 (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 'Locations.hs')
-rw-r--r-- | Locations.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Locations.hs b/Locations.hs index 73a2473b5..03d6deb1d 100644 --- a/Locations.hs +++ b/Locations.hs @@ -22,6 +22,7 @@ module Locations ( gitAnnexJournalLock, gitAnnexIndex, gitAnnexIndexLock, + gitAnnexSshDir, isLinkToAnnex, annexHashes, hashDirMixed, @@ -142,6 +143,10 @@ gitAnnexIndex r = gitAnnexDir r </> "index" gitAnnexIndexLock :: Git.Repo -> FilePath gitAnnexIndexLock r = gitAnnexDir r </> "index.lck" +{- .git/annex/ssh/ is used for ssh connection caching -} +gitAnnexSshDir :: Git.Repo -> FilePath +gitAnnexSshDir r = addTrailingPathSeparator $ gitAnnexDir r </> "ssh" + {- Checks a symlink target to see if it appears to point to annexed content. -} isLinkToAnnex :: FilePath -> Bool isLinkToAnnex s = ("/.git/" ++ objectDir) `isInfixOf` s |