From 6e74053204492f9a742a08bd3676ace59f849221 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 22 Apr 2020 14:12:15 -0400 Subject: [PATCH] simplify implementation Only the provider find_matches() method really needs to be changed. Signed-off-by: Doug Hellmann --- src/pip/_internal/resolution/resolvelib/provider.py | 7 ++++--- src/pip/_vendor/resolvelib/resolvers.py | 6 +----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/pip/_internal/resolution/resolvelib/provider.py b/src/pip/_internal/resolution/resolvelib/provider.py index 775b5f898ef..1ad429c2003 100644 --- a/src/pip/_internal/resolution/resolvelib/provider.py +++ b/src/pip/_internal/resolution/resolvelib/provider.py @@ -38,13 +38,14 @@ def get_preference( information # type: Sequence[Tuple[Requirement, Candidate]] ): # type: (...) -> Any - if self._prefer_minimum_versions: - return 0 return len(candidates) def find_matches(self, requirement): # type: (Requirement) -> Sequence[Candidate] - return requirement.find_matches() + results = requirement.find_matches() + if self._prefer_minimum_versions: + results = list(reversed(results)) + return results def is_satisfied_by(self, requirement, candidate): # type: (Requirement, Candidate) -> bool diff --git a/src/pip/_vendor/resolvelib/resolvers.py b/src/pip/_vendor/resolvelib/resolvers.py index 90d602ba250..07828edc329 100644 --- a/src/pip/_vendor/resolvelib/resolvers.py +++ b/src/pip/_vendor/resolvelib/resolvers.py @@ -218,11 +218,7 @@ def _get_criteria_to_update(self, candidate): def _attempt_to_pin_criterion(self, name, criterion, prefer_minimum_versions): causes = [] - if prefer_minimum_versions: - candidates_in_order = criterion.candidates - else: - candidates_in_order = reversed(criterion.candidates) - for candidate in candidates_in_order: + for candidate in reversed(criterion.candidates): try: criteria = self._get_criteria_to_update(candidate) except RequirementsConflicted as e: