refactor
This commit is contained in:
parent
f4ca592cd0
commit
c58d553265
2 changed files with 10 additions and 6 deletions
|
@ -27,7 +27,6 @@ import qualified Types.Remote
|
|||
import qualified Remote.Git
|
||||
import Types.Key
|
||||
|
||||
import qualified Data.Map as M
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
import Data.Hash.MD5
|
||||
|
||||
|
@ -62,7 +61,7 @@ syncRemotes rs = ifM (Annex.getState Annex.fast) ( nub <$> pickfast , wanted )
|
|||
where
|
||||
pickfast = (++) <$> listed <*> (good =<< fastest <$> available)
|
||||
wanted
|
||||
| null rs = good =<< concat . byspeed <$> available
|
||||
| null rs = good =<< concat . Remote.byCost <$> available
|
||||
| otherwise = listed
|
||||
listed = do
|
||||
l <- catMaybes <$> mapM (Remote.byName . Just) rs
|
||||
|
@ -74,10 +73,7 @@ syncRemotes rs = ifM (Annex.getState Annex.fast) ( nub <$> pickfast , wanted )
|
|||
available = filter (not . Remote.specialRemote)
|
||||
<$> Remote.enabledRemoteList
|
||||
good = filterM $ Remote.Git.repoAvail . Types.Remote.repo
|
||||
fastest = fromMaybe [] . headMaybe . byspeed
|
||||
byspeed = map snd . sort . M.toList . costmap
|
||||
costmap = M.fromListWith (++) . map costpair
|
||||
costpair r = (Types.Remote.cost r, [r])
|
||||
fastest = fromMaybe [] . headMaybe . Remote.byCost
|
||||
|
||||
commit :: CommandStart
|
||||
commit = do
|
||||
|
|
|
@ -24,6 +24,7 @@ module Remote (
|
|||
remoteMap,
|
||||
uuidDescriptions,
|
||||
byName,
|
||||
byCost,
|
||||
prettyPrintUUIDs,
|
||||
prettyListUUIDs,
|
||||
remotesWithUUID,
|
||||
|
@ -224,3 +225,10 @@ forceTrust level remotename = do
|
|||
- on the remote, but this cannot always be relied on. -}
|
||||
logStatus :: Remote -> Key -> LogStatus -> Annex ()
|
||||
logStatus remote key = logChange key (uuid remote)
|
||||
|
||||
{- Orders remotes by cost, with ones with the lowest cost grouped together. -}
|
||||
byCost :: [Remote] -> [[Remote]]
|
||||
byCost = map snd . sort . M.toList . costmap
|
||||
where
|
||||
costmap = M.fromListWith (++) . map costpair
|
||||
costpair r = (cost r, [r])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue