summaryrefslogtreecommitdiff
path: root/RemoteDaemon/Transport/GCrypt.hs
diff options
context:
space:
mode:
Diffstat (limited to 'RemoteDaemon/Transport/GCrypt.hs')
-rw-r--r--RemoteDaemon/Transport/GCrypt.hs27
1 files changed, 27 insertions, 0 deletions
diff --git a/RemoteDaemon/Transport/GCrypt.hs b/RemoteDaemon/Transport/GCrypt.hs
new file mode 100644
index 000000000..53bcfec32
--- /dev/null
+++ b/RemoteDaemon/Transport/GCrypt.hs
@@ -0,0 +1,27 @@
+{- git-remote-daemon, gcrypt transport
+ -
+ - Copyright 2015 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module RemoteDaemon.Transport.GCrypt (transport) where
+
+import Common.Annex
+import RemoteDaemon.Types
+import RemoteDaemon.Common
+import RemoteDaemon.Transport.Ssh (transportUsingCmd)
+import Git.GCrypt
+import Remote.Helper.Ssh
+import Remote.GCrypt (accessShellConfig)
+
+transport :: Transport
+transport rr@(RemoteRepo r gc) url h@(TransportHandle g _) ichan ochan
+ | accessShellConfig gc = do
+ r' <- encryptedRemote g r
+ v <- liftAnnex h $ git_annex_shell r' "notifychanges" [] []
+ case v of
+ Nothing -> noop
+ Just (cmd, params) ->
+ transportUsingCmd cmd params rr url h ichan ochan
+ | otherwise = noop