summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-18 00:58:29 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-18 00:58:29 -0700
commitb6b26a099d6b618170370b7f3012451374c9b7f4 (patch)
treeeaaa4fdb66f7dfc2d96fd61ff6985d846fd19c54
parenta072f0368baf5965ee12375c3e1c8185726b239d (diff)
downloadportage-b6b26a099d6b618170370b7f3012451374c9b7f4.tar.gz
portage-b6b26a099d6b618170370b7f3012451374c9b7f4.tar.bz2
portage-b6b26a099d6b618170370b7f3012451374c9b7f4.zip
Never traverse the same node twice when showing parents in
depgraph._show_unsatisfied_dep().
-rw-r--r--pym/_emerge/depgraph.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index a2f3e091e..3c8d41eb4 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2387,6 +2387,8 @@ class depgraph(object):
# package twice, in order to prevent an infinite loop.
selected_parent = None
for parent in self._dynamic_config.digraph.parent_nodes(node):
+ if parent in traversed_nodes:
+ continue
if isinstance(parent, DependencyArg):
if self._dynamic_config.digraph.parent_nodes(parent):
selected_parent = parent
@@ -2395,7 +2397,7 @@ class depgraph(object):
colorize('INFORM', _unicode_decode("%s") % (parent,)))
selected_parent = None
break
- if parent not in traversed_nodes:
+ else:
selected_parent = parent
node = selected_parent
writemsg_stdout("\n".join(msg), noiselevel=-1)