Bug #221071 - Prevent display_problems() from redundantly displaying
authorZac Medico <zmedico@gentoo.org>
Fri, 9 May 2008 19:04:38 +0000 (19:04 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 9 May 2008 19:04:38 +0000 (19:04 -0000)
the exact same merge list a second time. (trunk r10273)

svn path=/main/branches/2.1.2/; revision=10274

bin/emerge

index 7ff6add08e7f221425064f0cdeaafdc44534a54a..e97af9c92e05321bf0fe2d455d71cab940ce29a8 100755 (executable)
@@ -2056,6 +2056,7 @@ class depgraph(object):
                # blocker validation is only able to account for one package per slot.
                self._slot_collision_nodes = set()
                self._serialized_tasks_cache = None
+               self._displayed_list = None
                self._pprovided_args = []
                self._missing_args = []
                self._masked_installed = []
@@ -4269,7 +4270,8 @@ class depgraph(object):
                        "optional dependencies.\n", noiselevel=-1)
 
        def _show_merge_list(self):
-               if self._serialized_tasks_cache is not None:
+               if self._serialized_tasks_cache is not None and \
+                       self._serialized_tasks_cache != self._displayed_list:
                        display_list = self._serialized_tasks_cache[:]
                        if "--tree" in self.myopts:
                                display_list.reverse()
@@ -4289,6 +4291,12 @@ class depgraph(object):
                        show_blocker_docs_link()
 
        def display(self, mylist, favorites=[], verbosity=None):
+
+               # This is used to prevent display_problems() from
+               # redundantly displaying this exact same merge list
+               # again via _show_merge_list().
+               self._displayed_list = mylist
+
                if verbosity is None:
                        verbosity = ("--quiet" in self.myopts and 1 or \
                                "--verbose" in self.myopts and 3 or 2)