diff options
author | David RodrÃguez <[email protected]> | 2024-08-19 21:53:13 +0200 |
---|---|---|
committer | git <[email protected]> | 2024-08-22 11:48:32 +0000 |
commit | 2569413b1cb9765d0e31fc8dcf0e674d428bb4e7 (patch) | |
tree | 8d29ca78fe1833c26b0c8d688898ba470d6a0292 /weakmap.c | |
parent | 203051d83997ef092fda16b0c10a9bed24120a00 (diff) |
[rubygems/rubygems] Fix `--prefer-local` flag
The original implementation of this flag was too naive and all it did
was restricting gems to locally installed versions if there are any
local versions installed.
However, it should be much smarter. For example:
* It should fallback to remote versions if locally installed version
don't satisfy the requirements.
* It should pick locally installed versions even for subdependencies not
yet discovered.
This commit fixes both issues by using a smarter approach similar to how
we resolve prereleases:
* First resolve optimistically using only locally installed gems.
* If any conflicts are found, scan those conflicts, allow remote
versions for the specific gems that run into conflicts, and
re-resolve.
https://github.com/rubygems/rubygems/commit/607a3bf479
Co-authored-by: Gourav Khunger <[email protected]>
Diffstat (limited to 'weakmap.c')
0 files changed, 0 insertions, 0 deletions