diff options
author | Joey Hess <joey@kitenet.net> | 2014-04-05 16:04:37 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-04-05 16:10:39 -0400 |
commit | 73050592050239490beb656f2b7e3cde567df237 (patch) | |
tree | c1e900fc388af75052fd078fce2feddf75343433 /RemoteDaemon/EndPoint/GitAnnexShell/Types.hs | |
parent | 13fe079e1a7c1ce4269c1ceb8113c3603d8abe9a (diff) |
git-annex-shell: Added notifychanges command.
This will be used by the remote-daemon to quickly tell when changes have
been pushed from some other repository into a ssh remote.
Adjusted the remote-daemon protocol to communicate changed shas, rather
than git branch refs. This way, it can easily check if a sha is new.
This commit was sponsored by Carlos Trijueque Albarran.
Diffstat (limited to 'RemoteDaemon/EndPoint/GitAnnexShell/Types.hs')
-rw-r--r-- | RemoteDaemon/EndPoint/GitAnnexShell/Types.hs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/RemoteDaemon/EndPoint/GitAnnexShell/Types.hs b/RemoteDaemon/EndPoint/GitAnnexShell/Types.hs new file mode 100644 index 000000000..996c4237c --- /dev/null +++ b/RemoteDaemon/EndPoint/GitAnnexShell/Types.hs @@ -0,0 +1,32 @@ +{- git-remote-daemon, git-annex-shell endpoint, datatypes + - + - Copyright 2014 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-} +{-# OPTIONS_GHC -fno-warn-orphans #-} + +module RemoteDaemon.EndPoint.GitAnnexShell.Types ( + Notification(..), + Proto.serialize, + Proto.deserialize, + Proto.formatMessage, +) where + +import qualified Utility.SimpleProtocol as Proto +import RemoteDaemon.Types (ShaList) + +data Notification + = READY + | CHANGED ShaList + +instance Proto.Sendable Notification where + formatMessage READY = ["READY"] + formatMessage (CHANGED shas) = ["CHANGED", Proto.serialize shas] + +instance Proto.Receivable Notification where + parseCommand "READY" = Proto.parse0 READY + parseCommand "CHANGED" = Proto.parse1 CHANGED + parseCommand _ = Proto.parseFail |