summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-06-20 14:23:47 -0700
committerZac Medico <zmedico@gentoo.org>2012-06-20 14:23:47 -0700
commite1395684931a0c5991248435f1d47ff0425d326d (patch)
treefb0470d0d3f71fc020fbdf7ef145a24cded57bf9
parentfd66f626a5047972439c7aabcb57a7383b0f03cb (diff)
downloadportage-e1395684931a0c5991248435f1d47ff0425d326d.tar.gz
portage-e1395684931a0c5991248435f1d47ff0425d326d.tar.bz2
portage-e1395684931a0c5991248435f1d47ff0425d326d.zip
backtracking: only feedback first slot conflict
Only create BacktrackNode instances for the first conflict which occurred, since the conflicts that occurred later may have been caused by the first conflict.
-rw-r--r--pym/_emerge/resolver/backtracking.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/pym/_emerge/resolver/backtracking.py b/pym/_emerge/resolver/backtracking.py
index 2f8b6d0b6..e3c5c7d78 100644
--- a/pym/_emerge/resolver/backtracking.py
+++ b/pym/_emerge/resolver/backtracking.py
@@ -132,12 +132,11 @@ class Backtracker(object):
return True
def _feedback_slot_conflicts(self, conflicts_data):
- # This should be ordered such that the backtracker will
- # attempt to solve conflicts which occurred earlier first,
- # since an earlier conflict can be the cause of a conflict
- # which occurs later.
- for slot_data in reversed(conflicts_data):
- self._feedback_slot_conflict(slot_data)
+ # Only create BacktrackNode instances for the first
+ # conflict which occurred, since the conflicts that
+ # occurred later may have been caused by the first
+ # conflict.
+ self._feedback_slot_conflict(conflicts_data[0])
def _feedback_slot_conflict(self, conflict_data):
for pkg, parent_atoms in conflict_data: