Gentoo Archives: gentoo-portage-dev

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