-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add scenarios based on legacy versions and legacy specifiers #168
Comments
Note that in uv, we have lenient requirement and lenient version types with a hardcoded set of fixups and we don't make a different and we currently don't track whether the fixups were used or not, while errors outside of these are already skipped. |
Yeah, if my understanding is correct, both pip and uv are not following the spec. It seems like the correct things to do it's make a scenario that follows the spec and it can be set to expect fail where it has to. |
Sounds good to me! Although I'm not sure what we should do with the outcomes considering that |
pip is very likely to stop accepting legacy versions and specifiers on the next release. |
I'm willing to write these scenarios myself, but I'm making an issue first in case of any objection, in particular because this is about following the spec, and I beleive uv deviates from the spec for this behavior to be more compatible with the ecosystem:
A
andA
has a new version with a non-legacy version and an old version with a legacy version thenA
should successfully resolve to the new non-legacy versionA
andA
has a new version with a legacy version and an old version with a non-legacy version thenA
should successfully resolve to old non-legacy versionA
andA
only has legacy versions thenA
should not resolveA
that involves a legacy version in the specifier then that requirement should not resolveA
depends onB
andB
suffers from the legacy versions/specifiersThe text was updated successfully, but these errors were encountered: