diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-02-19 07:33:24 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-02-19 07:33:24 +0000 |
commit | ec2b3443f9707eee8217aad2cd730a65d6b1036d (patch) | |
tree | 8a86110ce238f1a016f50b017400948e2744ac51 | |
parent | 22f6dca5b85430ed7e47b25bd9cb846938095da0 (diff) | |
download | portage-ec2b3443f9707eee8217aad2cd730a65d6b1036d.tar.gz portage-ec2b3443f9707eee8217aad2cd730a65d6b1036d.tar.bz2 portage-ec2b3443f9707eee8217aad2cd730a65d6b1036d.zip |
Optimize order for --tree display of circular dependencies.
svn path=/main/trunk/; revision=6014
-rw-r--r-- | pym/emerge/__init__.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 5567bb3e0..50e91d64c 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -2101,10 +2101,21 @@ class depgraph: # Display the USE flags that are enabled on nodes that are part # of dependency cycles in case that helps the user decide to # disable some of them. + display_order = [] + tempgraph = mygraph.copy() + while not tempgraph.empty(): + nodes = tempgraph.leaf_nodes() + if not nodes: + node = tempgraph.order[0] + else: + node = nodes[0] + display_order.append(list(node)) + tempgraph.remove(node) + display_order.reverse() self.myopts.pop("--quiet", None) self.myopts.pop("--verbose", None) self.myopts["--tree"] = True - self.display([list(node) for node in mygraph.order]) + self.display(display_order) print "!!! Error: circular dependencies:" print mygraph.debug_print() |