Respect preferences for explicit index dependencies from requirements.txt (#10690)

## Summary

Closes: https://github.com/astral-sh/uv/issues/10383.
This commit is contained in:
Charlie Marsh 2025-01-16 13:10:00 -05:00 committed by GitHub
parent 75a1a47859
commit 45455b33c0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 50 additions and 3 deletions

View file

@ -188,10 +188,9 @@ impl CandidateSelector {
.filter(|(marker, _index, _version)| !env.included_by_marker(marker.pep508()));
let preferences = preferences_match.chain(preferences_mismatch).filter_map(
|(marker, source, version)| {
// If the package is mapped to an explicit index, only consider preferences that
// match the index.
// Ignore preferences that are associated with conflicting indexes.
index
.map_or(true, |index| source == Some(index))
.is_none_or(|index| source.is_none_or(|source| source == index))
.then_some((marker, version))
},
);