Age | Commit message (Collapse) | Author |
|
Other code must not be between the doc and class definition.
https://github.com/rubygems/rubygems/commit/366784aae5
|
|
If this is at the top level, it stops the documentation of the
entire module, but not only the part in this file.
https://github.com/rubygems/rubygems/commit/34e8c1ee06
|
|
The rdoc for Gem::Version is available here:
* https://docs.ruby-lang.org/en/3.0/Gem/Version.html
However it is currently missing from:
* https://ruby-doc.org/stdlib-3.1.0/libdoc/rubygems/rdoc/Gem/Version.html
* https://docs.ruby-lang.org/en/3.1/Gem/Version.html
* https://docs.ruby-lang.org/en/master/Gem/Version.html
* `ri Gem::Version`
with `ri --version` => 6.4.0 and `gem --version` => 3.3.5
* `yard ri Gem::Version` with `yard --version` => 0.9.27
https://github.com/rubygems/rubygems/commit/c10e5dd884
|
|
- it is not used since it is not at the top of the file
- it is not useful anymore
https://github.com/rubygems/rubygems/commit/6aee05d923
|
|
on Ruby 3.1
https://github.com/rubygems/rubygems/commit/68bef90339
|
|
Since it only uses `flock` on Windows.
https://github.com/rubygems/rubygems/commit/b877de4d9c
|
|
dependency`
https://github.com/rubygems/rubygems/commit/89dd5158a4
|
|
https://github.com/rubygems/rubygems/commit/477d5f6f6e
|
|
search, and query commands
It's deprecated functionality.
https://github.com/rubygems/rubygems/commit/13d3eb6cb0
|
|
search`
Make it more explicit that if not specific arguments are given, the
value of `-n` is used.
https://github.com/rubygems/rubygems/commit/ed811ddc00
|
|
Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a
Notes:
Merged: https://github.com/ruby/ruby/pull/5462
|
|
https://github.com/rubygems/rubygems/commit/f7f504b24c
|
|
of rubygems-update
https://github.com/rubygems/rubygems/commit/c167d513a7
|
|
https://github.com/rubygems/rubygems/commit/32a5e9057a
|
|
https://github.com/rubygems/rubygems/commit/9a1b891435
|
|
https://github.com/rubygems/rubygems/commit/bcffd92c48
|
|
With this patch, handwriting version comparisons become a little bit easier.
before:
SomeGem.version <=> Gem::Version.new('1.3')
after:
SomeGem.version <=> '1.3'
https://github.com/rubygems/rubygems/commit/7e0dbb79f2
|
|
https://github.com/rubygems/rubygems/commit/c29cd23826
|
|
https://github.com/rubygems/rubygems/commit/b55a1393ca
|
|
Fix version error message
Add tests to fetch error messages
Fix default version since is not necessary
https://github.com/rubygems/rubygems/commit/070620ebe4
|
|
Before:
```
$ gem install sfdsfdsfsdide --force
ERROR: While executing gem ... (NoMethodError)
undefined method `spec' for nil:NilClass
@always_install << newest.spec
^^^^^
```
After:
```
$ gem install sfdsfdsfsdide --force
ERROR: Could not find a valid gem 'sfdsfdsfsdide' (>= 0) in any repository
```
https://github.com/rubygems/rubygems/commit/4e2bfd1101
|
|
On JRuby, sometimes we get the following error in CI when running a
realworld test that checks that `gem install rails` succeeds:
```
ERROR: While executing gem ... (NoMethodError)
undefined method `ignored=' for nil:NilClass
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/stub_specification.rb:193:in `to_spec'
org/jruby/RubyArray.java:2642:in `map'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/specification.rb:758:in `_all'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/specification.rb:956:in `each'
org/jruby/RubyEnumerable.java:1710:in `any?'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/resolver/activation_request.rb:111:in `installed?'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/request_set.rb:173:in `block in install'
```
I'm not sure how this error is happening, but I think there's no need to
copy the `@ignored` instance variable when materializing stub
specifications. This instance variable is used to not print a warning
about missing extensions more than once for each gem upon gem
activation, but as far as I can see, it's only used by methods that work
on specification stubs. Once specifications are materialized, I think
it can be safely ignored.
https://github.com/rubygems/rubygems/commit/301cecd5a7
|
|
`rubygems-update` version
https://github.com/rubygems/rubygems/commit/b0badcd00a
|
|
This makes it easier to test the upgrade process locally and should be
more efficient in certain cases where the user has already upgraded in
the past.
https://github.com/rubygems/rubygems/commit/ed6cc88494
|
|
It reduces memory usage about 204kb (1.4%).
https://github.com/rubygems/rubygems/commit/b7d4b8c8a6
Notes:
Merged: https://github.com/ruby/ruby/pull/5350
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5334
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5325
|
|
If `bundler _<version>_` is given, I guess the most reasonable approach
is to completely skip version switching, because the user is technically
opting out of it. But since binstubs completely remove this argument
from `ARGV` after processing it, we have no way of detecting that it was
actually passed in the first place in order to skip the feature. So we
set `BUNDLER_VERSION` explicitly in this case.
https://github.com/rubygems/rubygems/commit/e0f360d6d7
|
|
Merge from https://github.com/rubygems/rubygems/commit/793ad95ecb40e84a1dcb4cb60f2686843ed90de5
Notes:
Merged: https://github.com/ruby/ruby/pull/5265
|
|
https://github.com/rubygems/rubygems/commit/a93ec63df3
|
|
rubygems
https://github.com/rubygems/rubygems/commit/1b862537a5
|
|
respectively
https://github.com/rubygems/rubygems/commit/49b491970b
|
|
https://github.com/rubygems/rubygems/commit/141ef4cb9a
|
|
bundler
https://github.com/rubygems/rubygems/commit/a62d00c5e8
|
|
https://github.com/rubygems/rubygems/commit/49317d8beb
|
|
is used
https://github.com/rubygems/rubygems/commit/7079de16fa
|
|
recommended section.
https://github.com/rubygems/rubygems/commit/de6552ac30
|
|
It seems that since ruby openssl 2.1.0 [[1]], the distinguished name
submitted to `OpenSSL::X509::Name.parse` is not correctly parsed if it
does not contain the first slash:
~~~
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
$ gem list | grep openssl
openssl (default: 2.2.0)
$ irb -r openssl
irb(main):001:0> OpenSSL::X509::Name.parse("CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE)
=> "CN = nobody/DC=example"
irb(main):002:0> OpenSSL::X509::Name.parse("/CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE)
=> "CN = nobody, DC = example"
~~~
Instead, use `OpenSSL::X509::Name.new` directly as suggested by upstream
maintainer.
[1]: https://github.com/ruby/openssl/commit/19c67cd10c57f3ab7b13966c36431ebc3fdd653b
https://github.com/rubygems/rubygems/commit/09ca0c2dae
Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>
|
|
concurrently
When bundler parallel installer installs gems concurrently, one can get
confusing warnings like the following:
```
"[/home/runner/work/rubygems/rubygems/bundler/tmp/2/gems/system/specifications/zeitwerk-2.4.2.gemspec] isn't a Gem::Specification (NilClass instead).
```
I've got these warnings several times in the past, but I never managed
to reproduce them, and never look deeply into the root cause, but this
time a got a cause that reproduced quite frequently, so I looked into
it.
The problem is one thread reading a gemspec while another thread is
writing it. The write of the gemspec was not protected, so
`Gem::Specification.load` could end up seeing a truncated gemspec and
thus throw this warning.
The fix involve two changes:
* Change the methods that write gemspecs to use `Gem.binary_write` which
is protected by a lock.
* Fix `Gem.binary_write` to create the file lock at file creation time,
not when the file already exists after.
The realworld user problem caused by this issue happens in bundler, but
I'm fixing it in rubygems first, and then I'll backport to bundler
whatever needs backporting to fix the issue on the bundler side.
https://github.com/rubygems/rubygems/commit/a672e7555c
|
|
This reverts commit af604436d8141c34cb2e1e645b9b0d47bfd55a55.
The issue that led to introducing it was never reproduced. I tried to
repro with this patch and it still works just fine. Since this removal
is getting in the middle for some race conditions I'm facing, I'm
reverting the patch.
https://github.com/rubygems/rubygems/commit/2dd267f0e4
|
|
https://github.com/rubygems/rubygems/commit/62d54cbf08
|
|
Just duplications.
|
|
https://github.com/rubygems/rubygems/commit/c8cc053bde
|
|
https://github.com/rubygems/rubygems/commit/5cb0b9d9b8
|
|
https://github.com/rubygems/rubygems/commit/662de0c990
|
|
https://github.com/rubygems/rubygems/commit/19f117652b
|
|
https://github.com/rubygems/rubygems/commit/231be44d38
|
|
https://github.com/rubygems/rubygems/commit/54e923ffc2
|
|
To spare the `defined?` check.
https://github.com/rubygems/rubygems/commit/64d27bba01
|
|
Picked from https://github.com/rubygems/rubygems/commit/4b498709a015a94e14a3852a1841a7a3e669133d
|