From 53d7da8137cb1395d4bdc17c2326056f1e8f2e81 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 9 Apr 2008 17:55:09 +0000 Subject: When pruning the list of parents for the slot collision display, always show parents that themselves have been pulled into collision slots, since those are more relevant that others. (branches/2.1.2 r9773) svn path=/main/trunk/; revision=9774 --- pym/_emerge/__init__.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index ba0c8a165..e3f8df792 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1621,16 +1621,25 @@ class depgraph(object): for parent in parents: if isinstance(parent, DependencyArg): pruned_list.append(parent) - if len(pruned_list) == max_parents: - break + # Prefer Packages instances that themselves have been + # pulled into collision slots. + for parent in parents: + if isinstance(parent, Package) and \ + (parent.slot_atom, parent.root) \ + in self._slot_collision_info: + pruned_list.append(parent) for parent in parents: if not isinstance(parent, DependencyArg): pruned_list.append(parent) - if len(pruned_list) == max_parents: + if len(pruned_list) >= max_parents: break parents = pruned_list msg.append(" pulled in by\n") + shown_parents = set() for parent in parents: + if parent in shown_parents: + continue + shown_parents.add(parent) msg.append(2*indent) msg.append(str(parent)) msg.append("\n") -- cgit v1.2.3-1-g7c22