Hiroshi SHIBATA 2026-10-05 12:29:45 +0000 (Mon, 05 Oct 2026)
New Revision: 104b7ed98a
https://github.com/ruby/ruby/commit/104b7ed98a
Log:
[ruby/rubygems] Let override drop or replace one dependency of a gem
Some gems depend on a gem that only one of their features loads, or on a gem that an API-compatible one can stand in for. `override "B", from: "A", to: nil` drops the dependency of A on B, and `to: "C"` makes A depend on C instead.
The lockfile keeps every dependency as published, the same way `version:` overrides leave it, and the completeness checks, the installer and the source lookup apply the override instead.
https://github.com/ruby/rubygems/pull/9517#issuecomment-5992001829
https://github.com/ruby/rubygems/commit/231ecdf564
Co-Authored-By: Claude Opus 5.5 <
nor...@anthropic.com>
Modified files:
lib/bundler/definition.rb
lib/bundler/dsl.rb
lib/bundler/installer.rb
lib/bundler/installer/parallel_installer.rb
lib/bundler/lazy_specification.rb
lib/bundler/materialization.rb
lib/bundler/override.rb
lib/bundler/resolver.rb
lib/bundler/source/rubygems_aggregate.rb
lib/bundler/source_map.rb
lib/bundler/spec_set.rb
spec/bundler/bundler/dsl_spec.rb
spec/bundler/bundler/override_spec.rb
spec/bundler/install/gemfile/override_spec.rb