Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/_emerge/
Date: Sat, 01 Jun 2013 00:17:34
Message-Id: 1370045794.27c2591cd0b433e4b94575175dc7b9404e66747d.zmedico@gentoo
1 commit: 27c2591cd0b433e4b94575175dc7b9404e66747d
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jun 1 00:16:34 2013 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 1 00:16:34 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=27c2591c
7
8 depgraph.display(): handle reverse for --tree
9
10 This factors --tree logic out of the calling code, and allows
11 optimization of _show_merge_list to use reference comparison instead
12 of == comparison. Also, deprecate the unused depgraph.altlist()
13 "reversed" parameter, due to builtin name collision.
14
15 ---
16 pym/_emerge/Scheduler.py | 6 +-----
17 pym/_emerge/actions.py | 8 ++++----
18 pym/_emerge/depgraph.py | 26 +++++++++++++++-----------
19 pym/_emerge/resolver/circular_dependency.py | 3 +--
20 4 files changed, 21 insertions(+), 22 deletions(-)
21
22 diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
23 index 4e8b223..94d3d3f 100644
24 --- a/pym/_emerge/Scheduler.py
25 +++ b/pym/_emerge/Scheduler.py
26 @@ -1827,11 +1827,7 @@ class Scheduler(PollScheduler):
27 return False
28
29 if success and self._show_list():
30 - mylist = mydepgraph.altlist()
31 - if mylist:
32 - if "--tree" in self.myopts:
33 - mylist = tuple(reversed(mylist))
34 - mydepgraph.display(mylist, favorites=self._favorites)
35 + mydepgraph.display(mydepgraph.altlist(), favorites=self._favorites)
36
37 if not success:
38 self._post_mod_echo_msgs.append(mydepgraph.display_problems)
39
40 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
41 index 7b2cf54..d6e8100 100644
42 --- a/pym/_emerge/actions.py
43 +++ b/pym/_emerge/actions.py
44 @@ -336,7 +336,7 @@ def action_build(settings, trees, mtimedb,
45 return os.EX_OK
46 favorites = mtimedb["resume"]["favorites"]
47 retval = mydepgraph.display(
48 - mydepgraph.altlist(reversed=tree),
49 + mydepgraph.altlist(),
50 favorites=favorites)
51 mydepgraph.display_problems()
52 mergelist_shown = True
53 @@ -345,7 +345,7 @@ def action_build(settings, trees, mtimedb,
54 prompt="Would you like to resume merging these packages?"
55 else:
56 retval = mydepgraph.display(
57 - mydepgraph.altlist(reversed=("--tree" in myopts)),
58 + mydepgraph.altlist(),
59 favorites=favorites)
60 mydepgraph.display_problems()
61 mergelist_shown = True
62 @@ -404,7 +404,7 @@ def action_build(settings, trees, mtimedb,
63 return os.EX_OK
64 favorites = mtimedb["resume"]["favorites"]
65 retval = mydepgraph.display(
66 - mydepgraph.altlist(reversed=tree),
67 + mydepgraph.altlist(),
68 favorites=favorites)
69 mydepgraph.display_problems()
70 mergelist_shown = True
71 @@ -412,7 +412,7 @@ def action_build(settings, trees, mtimedb,
72 return retval
73 else:
74 retval = mydepgraph.display(
75 - mydepgraph.altlist(reversed=("--tree" in myopts)),
76 + mydepgraph.altlist(),
77 favorites=favorites)
78 mydepgraph.display_problems()
79 mergelist_shown = True
80
81 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
82 index 9c0a966..3e29508 100644
83 --- a/pym/_emerge/depgraph.py
84 +++ b/pym/_emerge/depgraph.py
85 @@ -9,6 +9,7 @@ import logging
86 import stat
87 import sys
88 import textwrap
89 +import warnings
90 from collections import deque
91 from itertools import chain
92
93 @@ -5694,7 +5695,12 @@ class depgraph(object):
94
95 mygraph.order.sort(key=cmp_sort_key(cmp_merge_preference))
96
97 - def altlist(self, reversed=False):
98 + def altlist(self, reversed=DeprecationWarning):
99 +
100 + if reversed is not DeprecationWarning:
101 + warnings.warn("The reversed parameter of "
102 + "_emerge.depgraph.depgraph.altlist() is deprecated",
103 + DeprecationWarning, stacklevel=2)
104
105 while self._dynamic_config._serialized_tasks_cache is None:
106 self._resolve_conflicts()
107 @@ -5705,8 +5711,8 @@ class depgraph(object):
108 pass
109
110 retlist = self._dynamic_config._serialized_tasks_cache
111 - if reversed:
112 - # TODO: deprecate the "reversed" parameter (builtin name collision)
113 + if reversed is not DeprecationWarning and reversed:
114 + # TODO: remove the "reversed" parameter (builtin name collision)
115 retlist = list(retlist)
116 retlist.reverse()
117 retlist = tuple(retlist)
118 @@ -6647,14 +6653,8 @@ class depgraph(object):
119 def _show_merge_list(self):
120 if self._dynamic_config._serialized_tasks_cache is not None and \
121 not (self._dynamic_config._displayed_list is not None and \
122 - (self._dynamic_config._displayed_list is self._dynamic_config._serialized_tasks_cache or \
123 - self._dynamic_config._displayed_list == self._dynamic_config._serialized_tasks_cache or \
124 - self._dynamic_config._displayed_list == \
125 - list(reversed(self._dynamic_config._serialized_tasks_cache)))):
126 - display_list = self._dynamic_config._serialized_tasks_cache
127 - if "--tree" in self._frozen_config.myopts:
128 - display_list = tuple(reversed(display_list))
129 - self.display(display_list)
130 + self._dynamic_config._displayed_list is self._dynamic_config._serialized_tasks_cache):
131 + self.display(self._dynamic_config._serialized_tasks_cache)
132
133 def _show_unsatisfied_blockers(self, blockers):
134 self._show_merge_list()
135 @@ -6749,6 +6749,10 @@ class depgraph(object):
136 # redundantly displaying this exact same merge list
137 # again via _show_merge_list().
138 self._dynamic_config._displayed_list = mylist
139 +
140 + if "--tree" in self._frozen_config.myopts:
141 + mylist = tuple(reversed(mylist))
142 +
143 display = Display()
144
145 return display(self, mylist, favorites, verbosity)
146
147 diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py
148 index 6380b22..b710671 100644
149 --- a/pym/_emerge/resolver/circular_dependency.py
150 +++ b/pym/_emerge/resolver/circular_dependency.py
151 @@ -62,8 +62,7 @@ class circular_dependency_handler(object):
152 node = nodes[0]
153 display_order.append(node)
154 tempgraph.remove(node)
155 - display_order.reverse()
156 - return display_order
157 + return tuple(display_order)
158
159 def _prepare_circular_dep_message(self):
160 """