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):