Run git operations in parallel (take 2): #9323
Open
+8
−5
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.
What was the end-user or developer problem that led to this PR?
In #9100, I opened a patch to run git operations in parallel in order to download git gems more quickly. The parallelization doesn't work when resolving is not needed due to a premature call to
source.specshit by a different codepath.You can reproduce the problem and see that the gems aren't downloaded in parallel if you have an existing Gemfile and Gemfile.lock. (In my first patch, I forgot to try when a Gemfile.lock already existed).
What is your fix for the problem, implemented in this PR?
I'd like to introduce a new call to
preload_git_sources, when bundler hits the "missing specs" branch. I unfortunately couldn't find a single place where we could preload git sources due to thesource.specsthat is called at different path.Make sure the following tasks are checked