-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Bugfix: Empty and Any markers saved to lockfile #1650
Conversation
@sdispater thoughts? |
@finswimmer I see you're also able to commit on this repo, any thoughts? |
Same for empty? |
Co-Authored-By: Sébastien Eustace <sebastien.eustace@gmail.com>
@JBKahn No, it's fine for |
K, then I think with that test change, this should be good for the next release? |
@sdispater on a side note, I'm not super familiar with the code yet but if you're looking for help maintaining poetry, I'm happy to give some time to the project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot!
* do not write empty or any markers * Update poetry/version/markers.py Co-Authored-By: Sébastien Eustace <sebastien.eustace@gmail.com> * Update test_markers.py
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
When locking some private packages of ours (that have extras) it used to copy those extras over in
1.0.0b3
when we changed that behaviour it's now theAny
marker and when it stringifies that when generating the lockfile it creates a format the lockfile doesn't support.bugfix: Originally, the
MarkerUnion
didn't correctly respond tois_any
oris_empty
because it didn't evaluate the collection of markers which led to it trying to stringify those markers.This on conjunction with the other fix means that the
[Any, Any]
case is simply excluded from the lockfile just like a single Any case.bugfix
Before:
' or '.join([Any, Any])
->' or '
' or '.join([Any, REAL MARKER])
->' or REAL MARKER'
' or '.join([Empty, Empty])
->'<empty> or <empty>'
Now
' or '.join([Any, Any])
->''
' or '.join([Any, REAL MARKER])
->'REAL MARKER'
' or '.join([Empty, Empty])
->''
This means if we have a mix of markers with any/empty that won't be propagated to the lockfile.