Граф коммитов

68468 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 9ed1250402
[ruby/yaml] Bump up yaml version to 0.2.0
https://github.com/ruby/yaml/commit/cef5360823
2021-10-14 20:16:04 +09:00
Nobuyoshi Nakada 391ebfc35d
Disable install-doc at CodeQL 2021-10-14 20:13:09 +09:00
Nobuyoshi Nakada 4cf367b835
Set GNUMAKEFLAGS at CodeQL 2021-10-14 20:13:09 +09:00
Hiroshi SHIBATA 2c75fc915e [ruby/timeout] Bump up timeout version to 0.2.0
https://github.com/ruby/timeout/commit/02e792ddd8
2021-10-14 20:12:29 +09:00
Hiroshi SHIBATA 6f67a78ad6
[ruby/cgi] Bump up cgi version to 0.3.0
https://github.com/ruby/cgi/commit/95324433b4
2021-10-14 20:09:41 +09:00
Hiroshi SHIBATA caf34400c0
[ruby/benchmark] Bump up benchamark version to 0.2.0
https://github.com/ruby/benchmark/commit/eea1657fa2
2021-10-14 20:09:41 +09:00
Nobuyoshi Nakada d210950196
[ruby/etc] Get rid of alloca in the loop
https://github.com/ruby/etc/commit/c989bacc4c
2021-10-14 18:44:27 +09:00
Nobuyoshi Nakada 1d6a490c2c Cast up to get rid of the potential overflow posibility 2021-10-14 18:43:32 +09:00
Hiroshi SHIBATA 1220556f33
[ruby/fcntl] Bump up fcntl version to 1.0.1
https://github.com/ruby/fcntl/commit/0bcc0c4518
2021-10-14 17:18:21 +09:00
Hiroshi SHIBATA 91c2069dcf [flori/json] Bump up json version to 2.6.0
https://github.com/flori/json/commit/1942689b67
2021-10-14 17:04:37 +09:00
Hiroshi SHIBATA 6b13448040 [ruby/zlib] Bump up zlib version to 2.1.0
https://github.com/ruby/zlib/commit/dd593acaee
2021-10-14 16:18:41 +09:00
Hiroshi SHIBATA db500f05c2 [ruby/zlib] Bump version to v2.0.0
https://github.com/ruby/zlib/commit/434eba55ae
2021-10-14 16:18:36 +09:00
180909 724c657700
Remove repeated 'the' (#4966) 2021-10-13 23:05:44 -07:00
Hiroshi SHIBATA 9e86a60306
Removed redundant digest namespace 2021-10-14 14:07:50 +09:00
Hiroshi SHIBATA 3265af2f9e
separate pure ruby location under the digest/* extensions 2021-10-14 13:31:45 +09:00
Hiroshi SHIBATA 13772caee2
Move pure ruby files under the ext/gemname/lib directory. 2021-10-14 13:23:45 +09:00
U.Nakamura 3099bb6e3c rb_encoding is already const
- this change get rid of a warning of mswin build.
  see include/ruby/internal/encoding/encoding.h(116)
2021-10-14 10:23:33 +09:00
David Rodríguez fa12e3e2f7 [ruby/fileutils] Remove counterproductive optimization
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 09:12:16 +09:00
David Rodríguez d8d97872a1 [ruby/fileutils] Simplify loop to find out segments to be created
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 09:12:15 +09:00
Nobuyoshi Nakada a4f2aafd3a [rubygems/rubygems] Remove save_loaded_features
https://github.com/rubygems/rubygems/commit/f5e408f83d
2021-10-14 05:03:36 +09:00
Nobuyoshi Nakada 3f0150f2fd [rubygems/rubygems] Keep loaded features
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-14 05:03:36 +09:00
Nobuyoshi Nakada 1aa9fcca76
Fix STATIC_SYM2ID for large ID on IL32LLP64 platforms 2021-10-14 01:11:31 +09:00
git c44f7a6c43 * 2021-10-14 [ci skip] 2021-10-14 00:20:31 +09:00
Nobuyoshi Nakada 8f480eafab rb_group_member: Simplify 2021-10-14 00:20:13 +09:00
Nobuyoshi Nakada 9a3333986f Add more `grpowned?` tests 2021-10-14 00:20:13 +09:00
David Rodríguez 058cd3a6df [rubygems/rubygems] Remove unnecessary method
https://github.com/rubygems/rubygems/commit/97241e0ea4
2021-10-13 23:30:13 +09:00
David Rodríguez 621fe09016 [rubygems/rubygems] Reuse `sh` helper for `git push` too
https://github.com/rubygems/rubygems/commit/32aa540163
2021-10-13 23:30:13 +09:00
David Rodríguez df21600b98 [rubygems/rubygems] Simplify some code
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 23:30:12 +09:00
David Rodríguez e97c671b3a [rubygems/rubygems] Reuse `sh` helper
https://github.com/rubygems/rubygems/commit/c218d4d79e
2021-10-13 23:30:12 +09:00
David Rodríguez 30b6df4144 [rubygems/rubygems] Improve error messages in gem helpers
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 23:30:11 +09:00
David Rodríguez 853004e04d [rubygems/rubygems] Fix `bundle install` crash due to an incorrectly 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 21:16:40 +09:00
David Rodríguez d1e6f2226b [rubygems/rubygems] No need to use converged dependencies either
This is exclusively about the lockfile.

https://github.com/rubygems/rubygems/commit/d6c6d040cd
2021-10-13 21:16:40 +09:00
David Rodríguez ec5f732b7d [rubygems/rubygems] Extract `locked_dependencies` helper
https://github.com/rubygems/rubygems/commit/7326d47530
2021-10-13 21:16:39 +09:00
David Rodríguez 15f50d3bed [rubygems/rubygems] Simplify the incomplete locked specs for platform check
It doesn't really need converged specs, since it's only about the
lockfile.

https://github.com/rubygems/rubygems/commit/9cd6224b5e
2021-10-13 21:16:39 +09:00
Nobuyoshi Nakada 275b55aea4
Revert "Shallow clone on TravisCI"
This reverts commit 10d2341640.
TravisCI clones the head of the target branch, and it may not be
the target commit at that time.
2021-10-13 19:04:46 +09:00
David Rodriguez 0f1f95a3e3 [rubygems/rubygems] Fix `bundle install` to force reinstallation of deleted gems
https://github.com/rubygems/rubygems/commit/8950631f02
2021-10-13 16:21:42 +09:00
David Rodríguez bd87397f73 [rubygems/rubygems] Use correct way to detect default gems
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 16:21:42 +09:00
David Rodríguez d6627ab85c [rubygems/rubygems] Remove unnecessary code
All supported rubygems versions implement this.

https://github.com/rubygems/rubygems/commit/2130782ef6
2021-10-13 16:21:41 +09:00
David Rodriguez ad4e7308d2 [rubygems/rubygems] Make spec more realistic
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-13 16:21:41 +09:00
Nobuyoshi Nakada 10d2341640
Shallow clone on TravisCI 2021-10-13 16:02:50 +09:00
Kazuhiro NISHIYAMA 5deb273a1a
Fix a typo 2021-10-13 15:04:16 +09:00
Nobuyoshi Nakada 1b35808a13
Moved the common code 2021-10-13 13:00:57 +09:00
Nobuyoshi Nakada bad61d34be
Qundef is not for ID 2021-10-13 12:07:57 +09:00
Nobuyoshi Nakada aa5759a22b
`rb_id_serial_to_id` is used in `key2id` since 4c2d014e92 2021-10-13 11:27:09 +09:00
Kaíque Kandy Koga 5c646ca0a0 [ruby/irb] Ignore parenthesis during completion
Rename method

https://github.com/ruby/irb/commit/619aecb412
2021-10-13 06:33:48 +09:00
Jun Aruga 38d255d023 .travis.yml: Comment out the 2nd arm64 pipeline.
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.
2021-10-12 20:37:38 +02:00
git a7fe7cf657 * 2021-10-13 [ci skip] 2021-10-13 02:24:25 +09:00
Nobuyoshi Nakada 41db84aa30 [ruby/reline] Skip when unable to set input
`Reline::Windows` always reads from the console by Windows API
 using fiddle.

https://github.com/ruby/reline/commit/c3bf85f5af
2021-10-13 02:24:01 +09:00
Nobuyoshi Nakada 013bac15b0
Fix libraries under digest 2021-10-12 22:32:42 +09:00
Burdette Lamar bb66729b5f
Enhanced RDoc for Numeric#% (#4954) 2021-10-12 08:06:05 -05:00