diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-02-19 07:34:15 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-02-19 07:34:15 +0000 |
commit | dce252e58f4bad4c7be7d0366adb06d6ba45c20b (patch) | |
tree | c92cc55cb68d2e25eaae4e8485c354cc5a63fc1f | |
parent | ef30ff5a9bfd928d0f83d23392fb1ef735e614dd (diff) | |
download | portage-dce252e58f4bad4c7be7d0366adb06d6ba45c20b.tar.gz portage-dce252e58f4bad4c7be7d0366adb06d6ba45c20b.tar.bz2 portage-dce252e58f4bad4c7be7d0366adb06d6ba45c20b.zip |
Optimize order for --tree display of circular dependencies. (trunk r6013:6014)
svn path=/main/branches/2.1.2/; revision=6015
-rwxr-xr-x | bin/emerge | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge index c5d34aa8d..20eb7265f 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2097,10 +2097,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() |