summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-14Cast up to get rid of the potential overflow posibilityNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4968
2021-10-14[ruby/fcntl] Bump up fcntl version to 1.0.1Hiroshi SHIBATA
https://github.com/ruby/fcntl/commit/0bcc0c4518
2021-10-14[flori/json] Bump up json version to 2.6.0Hiroshi SHIBATA
https://github.com/flori/json/commit/1942689b67
2021-10-14[ruby/zlib] Bump up zlib version to 2.1.0Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/dd593acaee
2021-10-14[ruby/zlib] Bump version to v2.0.0Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/434eba55ae
2021-10-13Remove repeated 'the' (#4966)180909
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2021-10-14Removed redundant digest namespaceHiroshi SHIBATA
2021-10-14separate pure ruby location under the digest/* extensionsHiroshi SHIBATA
2021-10-14Move pure ruby files under the ext/gemname/lib directory.Hiroshi SHIBATA
2021-10-14rb_encoding is already constU.Nakamura
- this change get rid of a warning of mswin build. see include/ruby/internal/encoding/encoding.h(116)
2021-10-14[ruby/fileutils] Remove counterproductive optimizationDavid Rodríguez
I think it's debatable which is the most common usage of `FileUtils.mkdir_p`, but even assuming the most common use case is creating a folder when it doesn't previously exist but the parent does, this optimization doesn't seem to have a noticiable effect there while harming other use cases. For benchmarks, I created this script ```ruby require "benchmark/ips" Benchmark.ips do |x| x.report("old mkdir_p - exists") do FileUtils.mkdir_p "/tmp" end x.report("new_mkdir_p - exists") do FileUtils.mkdir_p_new "/tmp" end x.compare! end FileUtils.rm_rf "/tmp/foo" Benchmark.ips do |x| x.report("old mkdir_p - doesnt exist, parent exists") do FileUtils.mkdir_p "/tmp/foo" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - doesnt exist, parent exists") do FileUtils.mkdir_p_new "/tmp/foo" FileUtils.rm_rf "/tmp/foo" end x.compare! end Benchmark.ips do |x| x.report("old mkdir_p - doesnt exist, parent either") do FileUtils.mkdir_p "/tmp/foo/bar" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - doesnt exist, parent either") do FileUtils.mkdir_p_new "/tmp/foo/bar" FileUtils.rm_rf "/tmp/foo" end x.compare! end Benchmark.ips do |x| x.report("old mkdir_p - more levels") do FileUtils.mkdir_p "/tmp/foo/bar/baz" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - more levels") do FileUtils.mkdir_p_new "/tmp/foo/bar/baz" FileUtils.rm_rf "/tmp/foo" end x.compare! end ``` and copied the method with the "optimization" removed as `FileUtils.mkdir_p_new`. The results are as below: ``` Warming up -------------------------------------- old mkdir_p - exists 15.914k i/100ms new_mkdir_p - exists 46.512k i/100ms Calculating ------------------------------------- old mkdir_p - exists 161.461k (± 3.2%) i/s - 811.614k in 5.032315s new_mkdir_p - exists 468.192k (± 2.9%) i/s - 2.372M in 5.071225s Comparison: new_mkdir_p - exists: 468192.1 i/s old mkdir_p - exists: 161461.0 i/s - 2.90x (± 0.00) slower Warming up -------------------------------------- old mkdir_p - doesnt exist, parent exists 2.142k i/100ms new_mkdir_p - doesnt exist, parent exists 1.961k i/100ms Calculating ------------------------------------- old mkdir_p - doesnt exist, parent exists 21.242k (± 6.7%) i/s - 107.100k in 5.069206s new_mkdir_p - doesnt exist, parent exists 19.682k (± 4.2%) i/s - 100.011k in 5.091961s Comparison: old mkdir_p - doesnt exist, parent exists: 21241.7 i/s new_mkdir_p - doesnt exist, parent exists: 19681.7 i/s - same-ish: difference falls within error Warming up -------------------------------------- old mkdir_p - doesnt exist, parent either 945.000 i/100ms new_mkdir_p - doesnt exist, parent either 1.002k i/100ms Calculating ------------------------------------- old mkdir_p - doesnt exist, parent either 9.689k (± 4.4%) i/s - 49.140k in 5.084342s new_mkdir_p - doesnt exist, parent either 10.806k (± 4.6%) i/s - 54.108k in 5.020714s Comparison: new_mkdir_p - doesnt exist, parent either: 10806.3 i/s old mkdir_p - doesnt exist, parent either: 9689.3 i/s - 1.12x (± 0.00) slower Warming up -------------------------------------- old mkdir_p - more levels 702.000 i/100ms new_mkdir_p - more levels 775.000 i/100ms Calculating ------------------------------------- old mkdir_p - more levels 7.046k (± 3.5%) i/s - 35.802k in 5.087548s new_mkdir_p - more levels 7.685k (± 5.5%) i/s - 38.750k in 5.061351s Comparison: new_mkdir_p - more levels: 7685.1 i/s old mkdir_p - more levels: 7046.4 i/s - same-ish: difference falls within error ``` I think it's better to keep the code simpler is the optimization is not so clear like in this case. https://github.com/ruby/fileutils/commit/e842a0e70e
2021-10-14[ruby/fileutils] Simplify loop to find out segments to be createdDavid Rodríguez
Doing it this way is simpler and it doesn't end up adding "/" to the list of folders, so it doesn't need to be removed later. https://github.com/ruby/fileutils/commit/df08e124ce
2021-10-14[rubygems/rubygems] Remove save_loaded_featuresNobuyoshi Nakada
https://github.com/rubygems/rubygems/commit/f5e408f83d
2021-10-14[rubygems/rubygems] Keep loaded featuresNobuyoshi Nakada
Now `$LOADED_FEATURES` list is being maintained by `setup` and `teardown` and, only libaries under the temporary directory will be removed. As `save_loaded_features` removes the rest libraries other than this test directory, ordinary libraries loaded from files under rubygems also removed, and often causes constant redefinition warnings. https://github.com/rubygems/rubygems/commit/9e1f92aafd
2021-10-14Fix STATIC_SYM2ID for large ID on IL32LLP64 platformsNobuyoshi Nakada
2021-10-14* 2021-10-14 [ci skip]git
2021-10-14rb_group_member: SimplifyNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4963
2021-10-14Add more `grpowned?` testsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4963
2021-10-13[rubygems/rubygems] Remove unnecessary methodDavid Rodríguez
https://github.com/rubygems/rubygems/commit/97241e0ea4
2021-10-13[rubygems/rubygems] Reuse `sh` helper for `git push` tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/32aa540163
2021-10-13[rubygems/rubygems] Simplify some codeDavid Rodríguez
This method always receives an array, and we require `shellwords` unconditionally at the top of the file, so `shelljoin` will always be available. https://github.com/rubygems/rubygems/commit/05c8ac641d
2021-10-13[rubygems/rubygems] Reuse `sh` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c218d4d79e
2021-10-13[rubygems/rubygems] Improve error messages in gem helpersDavid Rodríguez
Previously they were printing the original command that was run, and telling the user to rerun it. However, the command sometimes would not match the exact command that was run (for example, when using the `--local` flag), and in any case, it's simpler and more useful to print the underlying error anyways. https://github.com/rubygems/rubygems/commit/5bc0d51b58
2021-10-13[rubygems/rubygems] Fix `bundle install` crash due to an incorrectly ↵David Rodríguez
incomplete resolve In case we have a corrupted lockfile that claims to support a platform, but it's missing platform specific gems for it, bundler has a check that detects the situation and forces a re-resolve. The result of this check is kept under the `@locked_specs_incomplete_for_platformn` instance variable in `Definition`. The installer, however, calls `Definition#nothing_changed?` before this instance variable has been filled, so the result of it is actually incorrect here since it will claim that nothing has changed, but something has changed (locked specs are incomplete for the current platform). The consequence of this incorrect result is that the installer thinks it can go on without re-resolving, resulting in the incomplete resolution from the lockfile being used, and in a crash being triggered due to that. The solution is to make sure the `@locked_specs_incomplete_for_platform` instance variable is filled before `nothing_changed?` gets called. Moving it to `initialize` makes the most sense, not because it's the best place for it (we can refactor this later), but because all of the other "outdated definition" checks are already set there. https://github.com/rubygems/rubygems/commit/708afdd789
2021-10-13[rubygems/rubygems] No need to use converged dependencies eitherDavid Rodríguez
This is exclusively about the lockfile. https://github.com/rubygems/rubygems/commit/d6c6d040cd
2021-10-13[rubygems/rubygems] Extract `locked_dependencies` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7326d47530
2021-10-13[rubygems/rubygems] Simplify the incomplete locked specs for platform checkDavid Rodríguez
It doesn't really need converged specs, since it's only about the lockfile. https://github.com/rubygems/rubygems/commit/9cd6224b5e
2021-10-13Revert "Shallow clone on TravisCI"Nobuyoshi Nakada
This reverts commit 10d2341640c57544ca81bd21cfa60a6aff015692. TravisCI clones the head of the target branch, and it may not be the target commit at that time.
2021-10-13[rubygems/rubygems] Fix `bundle install` to force reinstallation of deleted gemsDavid Rodriguez
https://github.com/rubygems/rubygems/commit/8950631f02
2021-10-13[rubygems/rubygems] Use correct way to detect default gemsDavid Rodríguez
The other way, in particular matching a substring in the gemspec summary, is brittle and no longer used since Ruby 2.0. This needed rewriting the specs that depended on that way. https://github.com/rubygems/rubygems/commit/059dbfa971
2021-10-13[rubygems/rubygems] Remove unnecessary codeDavid Rodríguez
All supported rubygems versions implement this. https://github.com/rubygems/rubygems/commit/2130782ef6
2021-10-13[rubygems/rubygems] Make spec more realisticDavid Rodriguez
The spec was just faking an installed gemspec without any installed gem backing it up, resulting in `bundle install` claiming that the gem was already installed when it was not. https://github.com/rubygems/rubygems/commit/c35531d1c7
2021-10-13Shallow clone on TravisCINobuyoshi Nakada
2021-10-13Fix a typoKazuhiro NISHIYAMA
2021-10-13Moved the common codeNobuyoshi Nakada
2021-10-13Qundef is not for IDNobuyoshi Nakada
2021-10-13`rb_id_serial_to_id` is used in `key2id` since 4c2d014e9216Nobuyoshi Nakada
2021-10-13[ruby/irb] Ignore parenthesis during completionKaíque Kandy Koga
Rename method https://github.com/ruby/irb/commit/619aecb412
2021-10-12.travis.yml: Comment out the 2nd arm64 pipeline.Jun Aruga
The 2nd arm64 pipeline is unstable now in Travis. As Cirrus CI has arm64 pipelines, it's not a problem to drop the arm64 pipeline in Travis. Notes: Merged: https://github.com/ruby/ruby/pull/4956
2021-10-13* 2021-10-13 [ci skip]git
2021-10-13[ruby/reline] Skip when unable to set inputNobuyoshi Nakada
`Reline::Windows` always reads from the console by Windows API using fiddle. https://github.com/ruby/reline/commit/c3bf85f5af
2021-10-12Fix libraries under digestNobuyoshi Nakada
2021-10-12Enhanced RDoc for Numeric#% (#4954)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-12[ruby/digest] Avoid the constant redefinition warningAkinori MUSHA
The gem and bundle commands first load digest via openssl, so loading the digest gem would cause this warning every time one of these commands is run: ``` .../lib/ruby/gems/3.0.0/gems/digest-3.1.0/lib/digest.rb:11: warning: already initialized constant Digest::REQUIRE_MUTEX .../lib/ruby/3.0.0/digest.rb:7: warning: previous definition of REQUIRE_MUTEX was here ``` https://github.com/ruby/digest/commit/16172612d5
2021-10-12[ruby/digest] Bump version to 3.1.0.pre2Akinori MUSHA
https://github.com/ruby/digest/commit/5184207611
2021-10-12[ruby/digest] Bump version to 3.1.0.pre1Akinori MUSHA
https://github.com/ruby/digest/commit/56679008cf
2021-10-12[ruby/digest] include jarsPavel Rosický
https://github.com/ruby/digest/commit/c15cbcd978
2021-10-12[ruby/digest] Bump version to 3.1.0.pre0Akinori MUSHA
https://github.com/ruby/digest/commit/594cc4d548
2021-10-12[ruby/digest] Place common parts in lib and engine specific parts under ↵Akinori MUSHA
ext/**/lib https://github.com/ruby/digest/commit/8d7496c3be
2021-10-12[ruby/digest] relicence under the Ruby license and the BSD 2-clausePavel Rosický
https://github.com/ruby/digest/commit/154d461e91