propigate ssh-options everywhere ssh caching is used

* sync: Use the ssh-options git config when doing git pull and push.
* remotedaemon: Use the ssh-options git config.

Note that the rename env var means that if a new git-annex calls an old one
for git-annex ssh, or a new calls an old, nothing much will go wrong;
just ssh caching won't happen.
This commit is contained in:
Joey Hess 2015-02-12 16:12:32 -04:00
parent 3f5c9ddc05
commit 15107d2c5a
8 changed files with 53 additions and 33 deletions

View file

@ -117,14 +117,16 @@ genRemoteMap h@(TransportHandle g _) ochan =
gen r = case Git.location r of
Git.Url u -> case M.lookup (uriScheme u) remoteTransports of
Just transport
| remoteAnnexSync (extractRemoteGitConfig r (Git.repoDescribe r)) -> do
| remoteAnnexSync gc -> do
ichan <- newTChanIO :: IO (TChan Consumed)
return $ Just
( r
, (transport r (RemoteURI u) h ichan ochan, ichan)
, (transport (RemoteRepo r gc) (RemoteURI u) h ichan ochan, ichan)
)
_ -> return Nothing
_ -> return Nothing
where
gc = extractRemoteGitConfig r (Git.repoDescribe r)
genTransportHandle :: IO TransportHandle
genTransportHandle = do