commit: 3b7a45a161be5c44c8b2a63da0ef8a65d73765be Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sun Aug 16 07:11:02 2015 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sun Aug 16 08:38:15 2015 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=3b7a45a1
SyncScheduler: only sync the selected masters Since commit 496ff326dc18890889d1ea5d2aec590394635960, master repositories have been synced even when not selected. Fixes: 496ff326dc18 ("sync repositories in parallel (bug 557426)") Acked-by: Brian Dolbec <dolsen <AT> gentoo.org> pym/portage/emaint/modules/sync/sync.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pym/portage/emaint/modules/sync/sync.py b/pym/portage/emaint/modules/sync/sync.py index 879d0f0..601118f 100644 --- a/pym/portage/emaint/modules/sync/sync.py +++ b/pym/portage/emaint/modules/sync/sync.py @@ -328,12 +328,15 @@ class SyncScheduler(AsyncScheduler): self._leaf_nodes = [] self._repo_map = {} self._running_repos = set() + selected_repo_names = frozenset(repo.name + for repo in self._selected_repos) for repo in self._selected_repos: self._repo_map[repo.name] = repo self._sync_graph.add(repo.name, None) for master in repo.masters: - self._repo_map[master.name] = master - self._sync_graph.add(master.name, repo.name) + if master.name in selected_repo_names: + self._repo_map[master.name] = master + self._sync_graph.add(master.name, repo.name) self._update_leaf_nodes() def _task_exit(self, task):