Skip to content

Fix regression where yanked gems are now unintentionally updated when other gems are unlocked#5812

Merged
deivid-rodriguez merged 4 commits intomasterfrom
fix-yank-unlocks
Aug 6, 2022
Merged

Fix regression where yanked gems are now unintentionally updated when other gems are unlocked#5812
deivid-rodriguez merged 4 commits intomasterfrom
fix-yank-unlocks

Conversation

@deivid-rodriguez
Copy link
Copy Markdown
Contributor

@deivid-rodriguez deivid-rodriguez commented Aug 4, 2022

What was the end-user or developer problem that led to this PR?

#5070 caused a regression where updating specific gems in a lockfile, for example, through bundle lock --update foo, would also update unrelated gems, just because their locked version is yanked.

Issue was detected by dependabot-core test suite at dependabot/dependabot-core#5465.

What is your fix for the problem, implemented in this PR?

My fix is to revert #5070 and take a different approach to fix the issue that does not involve coupling the resolver with materializing bare spec information into real gem specifications.

Make sure the following tasks are checked

…cked

This is a regression from a change intended to raise errors when user
puts a gem under an incorrect source in the Gemfile by mistake. To fix
the issue, we revert the change that caused it and implement it in a
different way that restores the resolver independency from real
specifications. Now it deals only with names and versions and does not
try to materialize anything into real specifications before resolving.
@deivid-rodriguez deivid-rodriguez merged commit 8329726 into master Aug 6, 2022
@deivid-rodriguez deivid-rodriguez deleted the fix-yank-unlocks branch August 6, 2022 06:41
deivid-rodriguez added a commit that referenced this pull request Aug 10, 2022
Fix regression where yanked gems are now unintentionally updated when other gems are unlocked

(cherry picked from commit 8329726)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant