[develop2] fix require and reference equality #12506
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is an error in 2.0 when two requires, one with revision and other without revision are used:
The tests make it explicit, but the problem is this situation can happen when a profile
[tool_requires]
collides with a recipetool_requires
, so it is not just about avoiding duplicates inrequirements()
method, the model must support it.Alternatives I have tried:
RecipeReference.__eq__
the same, and then adding a newRecipeReference.require_equal()
that was used fromRequire.__eq__
to check if two requires are the same. This approach doesn't need to change theLockfile.add()
RecipeReference.__eq__
, that requires changingLockfile.add()
, and now produces an error for a situation that was allowed