avoid syncing remotes configured annex-ignore, unless explicitly specified
This commit is contained in:
parent
e7d3e546c2
commit
015a497914
2 changed files with 8 additions and 3 deletions
|
@ -54,12 +54,12 @@ syncRemotes rs = do
|
||||||
else wanted
|
else wanted
|
||||||
where
|
where
|
||||||
wanted
|
wanted
|
||||||
| null rs = filterM hasurl =<< Remote.remoteList
|
| null rs = filterM hasurl =<< Remote.enabledRemoteList
|
||||||
| otherwise = listed
|
| otherwise = listed
|
||||||
listed = mapM Remote.byName rs
|
listed = mapM Remote.byName rs
|
||||||
hasurl r = not . null <$> geturl r
|
hasurl r = not . null <$> geturl r
|
||||||
geturl r = fromRepo $ Git.Config.get ("remote." ++ Remote.name r ++ ".url") ""
|
geturl r = fromRepo $ Git.Config.get ("remote." ++ Remote.name r ++ ".url") ""
|
||||||
pickfast = (++) <$> listed <*> (fastest <$> Remote.remoteList)
|
pickfast = (++) <$> listed <*> (fastest <$> Remote.enabledRemoteList)
|
||||||
fastest = fromMaybe [] . headMaybe .
|
fastest = fromMaybe [] . headMaybe .
|
||||||
map snd . sort . M.toList . costmap
|
map snd . sort . M.toList . costmap
|
||||||
costmap = M.fromListWith (++) . map costpair
|
costmap = M.fromListWith (++) . map costpair
|
||||||
|
|
|
@ -17,6 +17,7 @@ module Remote (
|
||||||
|
|
||||||
remoteTypes,
|
remoteTypes,
|
||||||
remoteList,
|
remoteList,
|
||||||
|
enabledRemoteList,
|
||||||
remoteMap,
|
remoteMap,
|
||||||
byName,
|
byName,
|
||||||
prettyPrintUUIDs,
|
prettyPrintUUIDs,
|
||||||
|
@ -85,6 +86,10 @@ remoteList = do
|
||||||
u <- getRepoUUID r
|
u <- getRepoUUID r
|
||||||
generate t r u (M.lookup u m)
|
generate t r u (M.lookup u m)
|
||||||
|
|
||||||
|
{- All remotes that are not ignored. -}
|
||||||
|
enabledRemoteList :: Annex [Remote Annex]
|
||||||
|
enabledRemoteList = filterM (repoNotIgnored . repo) =<< remoteList
|
||||||
|
|
||||||
{- Map of UUIDs of Remotes and their names. -}
|
{- Map of UUIDs of Remotes and their names. -}
|
||||||
remoteMap :: Annex (M.Map UUID String)
|
remoteMap :: Annex (M.Map UUID String)
|
||||||
remoteMap = M.fromList . map (\r -> (uuid r, name r)) <$> remoteList
|
remoteMap = M.fromList . map (\r -> (uuid r, name r)) <$> remoteList
|
||||||
|
@ -196,7 +201,7 @@ keyPossibilities' withtrusted key = do
|
||||||
let validtrusteduuids = validuuids `intersect` trusted
|
let validtrusteduuids = validuuids `intersect` trusted
|
||||||
|
|
||||||
-- remotes that match uuids that have the key
|
-- remotes that match uuids that have the key
|
||||||
allremotes <- filterM (repoNotIgnored . repo) =<< remoteList
|
allremotes <- enabledRemoteList
|
||||||
let validremotes = remotesWithUUID allremotes validuuids
|
let validremotes = remotesWithUUID allremotes validuuids
|
||||||
|
|
||||||
return (sort validremotes, validtrusteduuids)
|
return (sort validremotes, validtrusteduuids)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue