diff options
author | 2013-04-22 14:57:09 -0400 | |
---|---|---|
committer | 2013-04-22 14:57:09 -0400 | |
commit | 8655ea7f8e853b7de4defbca2655b741362ecd21 (patch) | |
tree | 685b461a9e6471dbf403bb281d4382661a36d245 /Assistant/DaemonStatus.hs | |
parent | 032c802d45c7872f704de1faf0733740b256444d (diff) |
sync, assistant: Sync with remotes that have annex-ignore set
This is so git remotes on servers without git-annex installed can be used
to keep clients' git repos in sync.
This is a behavior change, but since annex-sync can be set to disable
syncing with a remote, I think it's acceptable.
Diffstat (limited to 'Assistant/DaemonStatus.hs')
-rw-r--r-- | Assistant/DaemonStatus.hs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Assistant/DaemonStatus.hs b/Assistant/DaemonStatus.hs index c966fc93a..f94521117 100644 --- a/Assistant/DaemonStatus.hs +++ b/Assistant/DaemonStatus.hs @@ -48,18 +48,19 @@ modifyDaemonStatus a = do calcSyncRemotes :: Annex (DaemonStatus -> DaemonStatus) calcSyncRemotes = do rs <- filter (remoteAnnexSync . Remote.gitconfig) . - concat . Remote.byCost <$> Remote.enabledRemoteList + concat . Remote.byCost <$> Remote.remoteList alive <- trustExclude DeadTrusted (map Remote.uuid rs) let good r = Remote.uuid r `elem` alive let syncable = filter good rs - let nonxmpp = filter (not . isXMPPRemote) syncable + let syncdata = filter (not . remoteAnnexIgnore . Remote.gitconfig) $ + filter (not . isXMPPRemote) syncable return $ \dstatus -> dstatus { syncRemotes = syncable , syncGitRemotes = filter (not . Remote.specialRemote) syncable - , syncDataRemotes = nonxmpp - , syncingToCloudRemote = any iscloud nonxmpp + , syncDataRemotes = syncdata + , syncingToCloudRemote = any iscloud syncdata } where iscloud r = not (Remote.readonly r) && Remote.globallyAvailable r |