From 6cd4c7efcdea9a8897aa6b9e2b30e7e3426574bc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 31 Dec 2011 03:14:05 -0400 Subject: never pick special remotes in --fast even if they have the lowest cost, we cannot use them --- Command/Sync.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Command') diff --git a/Command/Sync.hs b/Command/Sync.hs index cd8ac389d..f3a83517c 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -56,13 +56,14 @@ syncRemotes rs = do then nub <$> pickfast else wanted where + pickfast = (++) <$> listed <*> (fastest <$> available) wanted - | null rs = filterM hasurl =<< Remote.enabledRemoteList + | null rs = available | otherwise = listed listed = mapM Remote.byName rs + available = filterM hasurl =<< Remote.enabledRemoteList hasurl r = not . null <$> geturl r geturl r = fromRepo $ Git.Config.get ("remote." ++ Remote.name r ++ ".url") "" - pickfast = (++) <$> listed <*> (fastest <$> Remote.enabledRemoteList) fastest = fromMaybe [] . headMaybe . map snd . sort . M.toList . costmap costmap = M.fromListWith (++) . map costpair -- cgit v1.2.3