Stop resolving locally for empty CHECKSUMS entries - #9862
Open
hsbt wants to merge 1 commit into
Open
Conversation
`Bundler.setup` without a lockfile writes CHECKSUMS entries without digests, since no remote fetch happens on that path. On the next run those empty entries counted as a lockfile change, so every startup re-resolved and printed "Resolving dependencies..." although nothing could fill them. Count empty entries only when a remote fetch is coming or frozen mode has to refuse them, and keep `bundle install` going remote to fill them. #9109 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #9109.
Bundler.setupwithout a lockfile writes CHECKSUMS entries without digests, because nothing is fetched on that path. Since 05199ae those empty entries count as a lockfile change, so every laterBundler.setupprinted "Resolving dependencies..." and re-resolved although no local resolution can ever fill them. The lockfile ends up identical each time.I now count an empty entry only when a remote fetch is coming or when frozen mode has to refuse it.
bundle installstill goes remote to fill those entries, and frozen mode still raises the same error. As a side effectbundle install --localstops re-resolving for them too, which is the path the original report hit through Fedora's package build.I did not compute the digests from installed gems on the setup path. Default gems have no
.gemfile to hash, and distributions like Fedora strip the gem cache, so the entries would stay empty there and the loop would remain.Generated with Claude Code