summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-20 23:22:20 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-20 23:22:20 +0000
commitdd9a3e3a47dd68c2c461657be65135660a93fc94 (patch)
treee7848dd63b7d702fb16b0e3c9e67b40bf099e774 /bin/emerge
parent4b8e84bf854cf1549a130756391665a434b463a5 (diff)
downloadportage-dd9a3e3a47dd68c2c461657be65135660a93fc94.tar.gz
portage-dd9a3e3a47dd68c2c461657be65135660a93fc94.tar.bz2
portage-dd9a3e3a47dd68c2c461657be65135660a93fc94.zip
In the slot collision display, show a maximum of 3 parents
for each package in order to avoid flooding the display. (trunk r8500) svn path=/main/branches/2.1.2/; revision=8557
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge14
1 files changed, 14 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge
index 3366e26c4..bf1f32cd3 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1214,6 +1214,8 @@ class depgraph:
"package slot have been \n")
msg.append("!!! pulled into the dependency graph:\n\n")
indent = " "
+ # Max number of parents shown, to avoid flooding the display.
+ max_parents = 3
for slot_atom, root in self._slot_collision_info:
msg.append(slot_atom)
msg.append("\n\n")
@@ -1233,11 +1235,23 @@ class depgraph:
msg.append(str(node))
parents = self._parent_child_digraph.parent_nodes(node)
if parents:
+ omitted_parents = 0
+ if len(parents) > max_parents:
+ omitted_parents = len(parents) - max_parents
+ pruned_list = []
+ for parent in parents:
+ pruned_list.append(parent)
+ if len(pruned_list) == max_parents:
+ break
+ parents = pruned_list
msg.append(" pulled in by\n")
for parent in parents:
msg.append(2*indent)
msg.append(str(parent))
msg.append("\n")
+ if omitted_parents:
+ msg.append(2*indent)
+ msg.append("(and %d more)\n" % omitted_parents)
else:
msg.append(" (no parents)\n")
msg.append("\n")