1 |
Author: zmedico |
2 |
Date: 2008-05-10 08:35:22 +0000 (Sat, 10 May 2008) |
3 |
New Revision: 10279 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
When selecting leaf nodes, if there is a mix of merge and uninstall |
9 |
nodes, save the uninstall nodes from later since sometimes a merge |
10 |
node will render an install node unnecessary, and we want to avoid |
11 |
doing a separate uninstall task in that case. |
12 |
|
13 |
|
14 |
Modified: main/trunk/pym/_emerge/__init__.py |
15 |
=================================================================== |
16 |
--- main/trunk/pym/_emerge/__init__.py 2008-05-10 08:07:58 UTC (rev 10278) |
17 |
+++ main/trunk/pym/_emerge/__init__.py 2008-05-10 08:35:22 UTC (rev 10279) |
18 |
@@ -3712,8 +3712,18 @@ |
19 |
if ignore_priority is None and not tree_mode: |
20 |
# Greedily pop all of these nodes since no relationship |
21 |
# has been ignored. This optimization destroys --tree |
22 |
- # output, so it's disabled in reversed mode. |
23 |
- selected_nodes = nodes |
24 |
+ # output, so it's disabled in reversed mode. If there |
25 |
+ # is a mix of merge and uninstall nodes, save the |
26 |
+ # uninstall nodes from later since sometimes a merge |
27 |
+ # node will render an install node unnecessary, and |
28 |
+ # we want to avoid doing a separate uninstall task in |
29 |
+ # that case. |
30 |
+ merge_nodes = [node for node in nodes \ |
31 |
+ if node.operation == "merge"] |
32 |
+ if merge_nodes: |
33 |
+ selected_nodes = merge_nodes |
34 |
+ else: |
35 |
+ selected_nodes = nodes |
36 |
else: |
37 |
# For optimal merge order: |
38 |
# * Only pop one node. |
39 |
|
40 |
-- |
41 |
gentoo-commits@l.g.o mailing list |