| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
https://github.com/rubygems/rubygems/commit/61667028f5
|
|
|
|
|
|
| |
Preferring instead to spawn the subprocess in the correct directory
https://github.com/rubygems/rubygems/commit/ad5abd6a45
|
|
|
|
|
|
|
|
|
|
| |
Specifically, this will have frozen string literals for:
- Gem platform tuple entries
- Gem::Version strings
- Gem::Specification#installed_by_version
- Dependency requirement strings
https://github.com/rubygems/rubygems/commit/6195da5bdb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reduces allocations in a bundle install --full-index by an order of magnitude
Main wins are (a) getting rid of exessive string allocations for exception message stack
(b) Avoiding hash allocations caused by kwargs for #initialize
(c) avoid using unpack to do bit math, its easy enough to do by hand
(d) special case the most common elements so they can be read without an allocation
(e) avoid string allocations every time a symbol->string lookup is done by using symbol#name
https://github.com/rubygems/rubygems/commit/7d2ee51402
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6c92ba2ba3
|
|
|
|
|
|
|
|
| |
Tested with:
`ruby -e 'trap("INT") { exit 1 }; TZ=%w[UTC +0000 -0000]; RUBY=%w[ruby-2.7 ruby-3.2.2 jruby-9.4 truffleruby-22 truffleruby-23]; TZ.product(RUBY).each { |t, r| puts ?**120, "TZ=#{t} RUBY=#{r}", "*"*120; system({"TZ"=>t,"RUBY"=>r}, *ARGV) }' zsh -lic 'chruby $RUBY; ruby -vw -Ilib test/rubygems/test_gem_safe_marshal.rb --verbose=progress'`
https://github.com/rubygems/rubygems/commit/6192005afb
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/8065530d43
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/63b422b71a
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/3303957286
|
|
|
|
|
|
| |
rubygems.org
https://github.com/rubygems/rubygems/commit/4f51741cc6
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6ec518c563
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/2a4d0a44b0
|
|
|
|
|
|
| |
safely load permitted classes/symbols
https://github.com/rubygems/rubygems/commit/7e4478fe73
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This helps with memory usage during application boot time
```
==> memprof.after.txt <==
Total allocated: 1.43 MB (18852 objects)
Total retained: 421.12 kB (4352 objects)
==> memprof.before.txt <==
Total allocated: 2.43 MB (28355 objects)
Total retained: 469.69 kB (5425 objects)
```
See https://bugs.ruby-lang.org/issues/19890 about the readline
allocations
https://github.com/rubygems/rubygems/commit/d7eb66eee3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running `bundle update --bundler` on a rails app locally:
```
==> memprof.after.txt <==
Total allocated: 301.90 kB (3794 objects)
Total retained: 73.24 kB (698 objects)
==> memprof.before.txt <==
Total allocated: 14.47 MB (196378 objects)
Total retained: 25.93 kB (202 objects)
```
So for a slight increase in retained memory (all keys are now retained),
we go from about 200k allocations in the settings file to under 4k
https://github.com/rubygems/rubygems/commit/e64debb6ae
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/ac3b85bd5e
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/58173ff2ea
|
|
|
| |
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
|
|
|
|
|
|
|
|
|
|
| |
class references does not warn
Before this, you would get constant redefinition warnings on Psych::DefaultKey
Additionally, ensure the retries wont continue infinitely in the case of the ArgumentError not being caused by Marshal trying to load the undefined classes
https://github.com/rubygems/rubygems/commit/919e8c2de4
|
|
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/abacb0cb34cd
https://github.com/rubygems/rubygems/commit/5e2e9d6e50
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/675effb67e
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/3db9165335
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
corrupt gem
Gem::Package::TarReader::Entry now raises EOFError or returns nil
appropriately based on Ruby core IO.read and IO.readpartial behavior.
Zlib will respond accordingly by raising Zlib::GzipFile::Error on EOF.
When verifying a gem or extracting contents, raise FormatError similar
to other cases of corrupt gems.
Addresses a bug where Gem::Package would attempt to call size on nil
instead of raising a more descriptive and useful error, leading users
to assume the problem is internal to rubygems.
Remove unused error class TarReader::UnexpectedEOF that was never raised
since the NoMethodError on nil would happen first. Use EOFError instead.
https://github.com/rubygems/rubygems/commit/dc6129644b
|
|
|
|
|
|
| |
local manner
https://github.com/rubygems/rubygems/commit/965e54b8f1
|
|
|
|
|
|
|
|
| |
The dedicated method `File.path` to deal with pathname-like objects
has been provided since ruby 1.9.0.
Also adds a test for rubygems/rubygems#6837.
https://github.com/rubygems/rubygems/commit/258c6eda80
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit db80e947a382a6a9ef2295e81f5b97c6a8ecbce7.
This patch uses `Thread.abort_on_exception = true` and it affects
all of threads. This is why CI systems fails.
How to modify:
- use `thread.abort_on_exception = true` for specific threads
- Run this code in a separated process
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/442a3e8f37
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/860b145359
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6ec474975e
|
|
|
|
|
|
| |
namespace
https://github.com/rubygems/rubygems/commit/3080394f81
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/218b83abed
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/39c5e86a67
|
| |
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/630dc02112
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/b424353239
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/ec5f04f7b1
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/e3ba3e2225
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/abacb0cb34
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/31d0311258
|
|
|
|
|
|
| |
https://github.com/rubygems/rubygems/pull/6766
https://github.com/rubygems/rubygems/commit/c5c5797227
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/68cc941bed
|
|
|
|
|
|
| |
Molinillo::Resolver#resolve
https://github.com/rubygems/rubygems/commit/1c39e24c95
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6d9e8025dc
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/e916ccb2d9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can install RubyGems plugin by "gem install XXX". The installed
plugin is used from the NEXT "gem ...".
For example, "gem install gem-src kaminari" doesn't use gem-src plugin
for kaminari. "gem install gem-src && gem install kaminari" uses
gem-src plugin for kaminari.
How about loading a plugin immediately when the plugin is installed?
If this proposal is implemented, "gem install gem-src kaminari" works
like "gem install gem-src && gem install kaminari".
https://github.com/rubygems/rubygems/commit/4917d96f4c
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/33a02eec00
|
|
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/413033198b
Co-authored-by: Eric Herscovich <eric.herscovich@shopify.com>
|
| |
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/324139af8f
|