diff options
Diffstat (limited to 'RemoteDaemon')
-rw-r--r-- | RemoteDaemon/Common.hs | 2 | ||||
-rw-r--r-- | RemoteDaemon/Transport/Ssh.hs | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/RemoteDaemon/Common.hs b/RemoteDaemon/Common.hs index 29aeb00d3..e844e2c88 100644 --- a/RemoteDaemon/Common.hs +++ b/RemoteDaemon/Common.hs @@ -20,7 +20,7 @@ import Annex.CatFile import Control.Concurrent -- Runs an Annex action. Long-running actions should be avoided, --- since only one liftAnnex can be running at a time, amoung all +-- since only one liftAnnex can be running at a time, across all -- transports. liftAnnex :: TransportHandle -> Annex a -> IO a liftAnnex (TransportHandle _ annexstate) a = do diff --git a/RemoteDaemon/Transport/Ssh.hs b/RemoteDaemon/Transport/Ssh.hs index 87fcf6f8c..d6150bbce 100644 --- a/RemoteDaemon/Transport/Ssh.hs +++ b/RemoteDaemon/Transport/Ssh.hs @@ -8,6 +8,7 @@ module RemoteDaemon.Transport.Ssh (transport) where import Common.Annex +import Annex.Ssh import RemoteDaemon.Types import RemoteDaemon.Common import Remote.Helper.Ssh @@ -22,7 +23,14 @@ import Control.Concurrent.Async import System.Process (std_in, std_out, std_err) transport :: Transport -transport r url transporthandle ichan ochan = do +transport r url h@(TransportHandle g s) ichan ochan = do + -- enable ssh connection caching wherever inLocalRepo is called + g' <- liftAnnex h $ sshCachingTo r g + transport' r url (TransportHandle g' s) ichan ochan + +transport' :: Transport +transport' r url transporthandle ichan ochan = do + v <- liftAnnex transporthandle $ git_annex_shell r "notifychanges" [] [] case v of Nothing -> noop |