diff options
author | Joey Hess <joey@kitenet.net> | 2014-04-08 15:23:50 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-04-08 15:23:50 -0400 |
commit | 6328d368fc73de7c91cb6efa25769297df71897d (patch) | |
tree | e240f3d920c7f5bc3dd8f2f54d294497779a53a9 /Assistant/Alert.hs | |
parent | 9b09962ee86ec7531d7ca946e62ccf6a48a67399 (diff) |
assistant: Now detects immediately when other repositories push changes to
a ssh remote, and pulls.
XMPP is no longer needed in this configuration!
Requires the remote server have git-annex-shell with notifychanges support.
(untested)
This commit was sponsored by Geog Wechslberger.
Diffstat (limited to 'Assistant/Alert.hs')
-rw-r--r-- | Assistant/Alert.hs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Assistant/Alert.hs b/Assistant/Alert.hs index 192952f56..018fbf583 100644 --- a/Assistant/Alert.hs +++ b/Assistant/Alert.hs @@ -16,6 +16,7 @@ import qualified Remote import Utility.Tense import Logs.Transfer import Types.Distribution +import Git.Types (RemoteName) import Data.String import qualified Data.Text as T @@ -117,11 +118,14 @@ commitAlert :: Alert commitAlert = activityAlert Nothing [Tensed "Committing" "Committed", "changes to git"] -showRemotes :: [Remote] -> TenseChunk -showRemotes = UnTensed . T.intercalate ", " . map (T.pack . Remote.name) +showRemotes :: [RemoteName] -> TenseChunk +showRemotes = UnTensed . T.intercalate ", " . map T.pack syncAlert :: [Remote] -> Alert -syncAlert rs = baseActivityAlert +syncAlert = syncAlert' . map Remote.name + +syncAlert' :: [RemoteName] -> Alert +syncAlert' rs = baseActivityAlert { alertName = Just SyncAlert , alertHeader = Just $ tenseWords [Tensed "Syncing" "Synced", "with", showRemotes rs] @@ -130,7 +134,12 @@ syncAlert rs = baseActivityAlert } syncResultAlert :: [Remote] -> [Remote] -> Alert -syncResultAlert succeeded failed = makeAlertFiller (not $ null succeeded) $ +syncResultAlert succeeded failed = syncResultAlert' + (map Remote.name succeeded) + (map Remote.name failed) + +syncResultAlert' :: [RemoteName] -> [RemoteName] -> Alert +syncResultAlert' succeeded failed = makeAlertFiller (not $ null succeeded) $ baseActivityAlert { alertName = Just SyncAlert , alertHeader = Just $ tenseWords msg |