summaryrefslogtreecommitdiff
path: root/Remote.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-03-28 23:51:07 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-03-28 23:51:07 -0400
commita3b6586902d6689b07c050b1fc50e19f4115c42e (patch)
tree51d1658cd393c31435cda2b618e03f68563b645a /Remote.hs
parentb1db436816b6b70ff0b9891bbc4a5468d9b895b3 (diff)
update
Diffstat (limited to 'Remote.hs')
-rw-r--r--Remote.hs19
1 files changed, 9 insertions, 10 deletions
diff --git a/Remote.hs b/Remote.hs
index f281d565a..71bc08c8a 100644
--- a/Remote.hs
+++ b/Remote.hs
@@ -44,17 +44,16 @@ import LocationLog
import Locations
import Messages
-{- Add generators for new Remotes here. -}
-generators :: [Annex (RemoteGenerator Annex)]
-generators =
- [ Remote.Git.generate
- , Remote.S3.generate
+remoteTypes :: [RemoteType Annex]
+remoteTypes =
+ [ Remote.Git.remote
+ , Remote.S3.remote
]
-{- Runs a list of generators. -}
-runGenerators :: [Annex (RemoteGenerator Annex)] -> Annex [Remote Annex]
-runGenerators gs = do
- (actions, expensive) <- collect ([], []) gs
+{- Runs the generators of each type of Remote -}
+runGenerators :: Annex [Remote Annex]
+runGenerators = do
+ (actions, expensive) <- collect ([], []) $ map generator remoteTypes
when (not $ null expensive) $
showNote $ "getting UUID for " ++ join ", " expensive
sequence actions
@@ -71,7 +70,7 @@ genList = do
rs <- Annex.getState Annex.remotes
if null rs
then do
- rs' <- runGenerators generators
+ rs' <- runGenerators
Annex.changeState $ \s -> s { Annex.remotes = rs' }
return rs'
else return rs