set/unset annex-sync, rather than annex-ignore

This reserves annex.ignore for repos that should not be visible at all;
repos with syncing disabled are now skipped by the assistant, but are
displayed in the list and can be configured.
This commit is contained in:
Joey Hess 2012-10-11 19:22:29 -04:00
parent 2602c8f877
commit 0b266f970f
4 changed files with 43 additions and 26 deletions

View file

@ -17,6 +17,8 @@ import Utility.NotificationBroadcaster
import Logs.Transfer
import Logs.Trust
import qualified Remote
import qualified Types.Remote as Remote
import Config
import Control.Concurrent.STM
import System.Posix.Types
@ -86,10 +88,11 @@ modifyDaemonStatus dstatus a = do
sendNotification $ changeNotifier s
return b
{- Remotes ordered by cost, with dead ones thrown out. -}
{- Syncable remotes ordered by cost. -}
calcKnownRemotes :: Annex [Remote]
calcKnownRemotes = do
rs <- concat . Remote.byCost <$> Remote.enabledRemoteList
rs <- filterM (repoSyncable . Remote.repo) =<<
concat . Remote.byCost <$> Remote.enabledRemoteList
alive <- snd <$> trustPartition DeadTrusted (map Remote.uuid rs)
let good r = Remote.uuid r `elem` alive
return $ filter good rs