Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rubygems#6186 - greysteil:treat-release-preference-as-c…
…onstraint, r=indirect Resolver: treat dependencies with prerelease versions as slightly constrained Fixes rubygems#6181. In Bundler 1.15.4, the way we checked for pre-releases meant that dependencies with a lot of them sorted as more constrained than those with few/none. When we moved to our updated resolution strategy in 1.16.0 we accidentally lost that behaviour. I'm not wild about this PR, but it fixes the resolver regression. It's unsatisfying because it would be nice to believe the resolver will always resolve performantly, regardless of the sort order thrown at it, but clearly that isn't the case. Conceptually, this can be justified as "when two resolutions are possible, we prefer the one that does not require one dependency to be at a pre-release version". If others are happy with this I can write a test for it.
- Loading branch information