Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10279 - main/trunk/pym/_emerge
Date: Sat, 10 May 2008 08:35:26
Message-Id: E1JukY7-0000nU-LV@stork.gentoo.org
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