Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Zac Medico <zmedico@g.o>
Subject: [gentoo-portage-dev] [PATCH] SyncScheduler: only sync the selected masters
Date: Sun, 16 Aug 2015 07:15:54
Message-Id: 1439709307-32217-1-git-send-email-zmedico@gentoo.org
1 Since commit 496ff326dc18890889d1ea5d2aec590394635960, master
2 repositories have been synced even when not selected.
3
4 Fixes: 496ff326dc18 ("sync repositories in parallel (bug 557426)")
5 ---
6 pym/portage/emaint/modules/sync/sync.py | 7 +++++--
7 1 file changed, 5 insertions(+), 2 deletions(-)
8
9 diff --git a/pym/portage/emaint/modules/sync/sync.py b/pym/portage/emaint/modules/sync/sync.py
10 index 879d0f0..601118f 100644
11 --- a/pym/portage/emaint/modules/sync/sync.py
12 +++ b/pym/portage/emaint/modules/sync/sync.py
13 @@ -328,12 +328,15 @@ class SyncScheduler(AsyncScheduler):
14 self._leaf_nodes = []
15 self._repo_map = {}
16 self._running_repos = set()
17 + selected_repo_names = frozenset(repo.name
18 + for repo in self._selected_repos)
19 for repo in self._selected_repos:
20 self._repo_map[repo.name] = repo
21 self._sync_graph.add(repo.name, None)
22 for master in repo.masters:
23 - self._repo_map[master.name] = master
24 - self._sync_graph.add(master.name, repo.name)
25 + if master.name in selected_repo_names:
26 + self._repo_map[master.name] = master
27 + self._sync_graph.add(master.name, repo.name)
28 self._update_leaf_nodes()
29
30 def _task_exit(self, task):
31 --
32 2.4.6

Replies