Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Sep 16, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

tenderlove and others added 18 commits September 16, 2025 17:17
We already have the open file descriptor, so we can avoid the overhead
of resolving the filepath (as well as the overhead inside `FileUtils`)
by just calling `chmod` on the file descriptor itself.

ruby/rubygems@60c14bbeee
When extracting tar files, the tar header actually knows the exact size
of the file we need to extract.  Before this commit, we would read the
file from the tar file until it returned `nil`. We can be a little more
efficient when copying by passing the size to copy_stream

ruby/rubygems@8927533b0a
In Bundler 4, configuration will no longer be updated.

ruby/rubygems@33a4718d7a
If the CLI flags are used, we abort early as usual.

As per the settings, I decided to ignore them. We've been migrating them
automatically to the new name for a long time and we don't yet have a
standard way to deprecate and remove settings (we should probably use
the existing setting validators). So I think it's fine for now to do
what we normally do (ignore the setting).

ruby/rubygems@8311de6e69
And let the feature always be enabled, so I'm not sure why we'd need
this configurable.

ruby/rubygems@5a27f0c1e3
Before this patch we would use `IO.copy_stream` with the tar entry
object rather than just straight to the IO.  That means every time
copy_stream wanted data, we would have to proxy the call.

The reason we did this is because every tar entry object _shares_ the
same IO object, and previous to ruby/rubygems@8927533b0a47
we would call `IO.copy_stream` _without_ a size.  Without passing a
size, copy_stream will just read until there is nothing left to read, so
these proxy object emulate finding "the end of the file" (where "end of
file" means "end of tar chunk").  Without emulating this "end of file"
behavior, copy_stream would just keep reading past the end of the tar
chunk.

However, now that we're passing the size to copy_stream, we can bypass
the proxy object overhead and just use the IO object directly because
copy_stream knows exactly the number of bytes it needs to read and will
stop when it reaches the goal.

ruby/rubygems@857002c135
It's a term from times with multiple remote sources, let's move on :)

ruby/rubygems@6439b8944e
In the Ruby test suite, this test class is causing trouble because
ostruct is not available. Having an autoload for JSON::GenericObject but
causing it not to define the constant causes a warning.

See ruby/json@0dc1cd407e77 and
ruby/json@caa5d8cdd748 in ruby.

We can skip defining the test class entirely instead when ostruct is not
available.

ruby/json@6f6a4cdfd7
Add the macro `RB_THREAD_CURRENT_EC_NOINLINE` to manage the condition to use
no-inline version rb_current_ec for a better maintainability.

Note that the `vm_core.h` includes the `THREAD_IMPL_H` by the
`#include THREAD_IMPL_H`. The `THREAD_IMPL_H` can be `thread_none.h`,
`thread_pthread.h` or `thread_win32.h` according to the
`tool/m4/ruby_thread.m4` creating the `THREAD_IMPL_H`.

The change in this commit only defining the `RB_THREAD_CURRENT_EC_NOINLINE` in
the `thread_pthread.h` is okay in this situation. Because in the
`thread_none.h` case, the thread feature is not used at all, including
Thread-Local Storage (TLS), and in the `thread_win32.h` case, the
`RB_THREAD_LOCAL_SPECIFIER` is not defined. In the `thread_pthread.h` case, the
`RB_THREAD_LOCAL_SPECIFIER` is defined in the `configure.ac`. In the
`thread_none.h` case, the `RB_THREAD_LOCAL_SPECIFIER` is defined in the
`thread_none.h`.
This option is available since git 1.8.5 that was released in 2013.
`log.showSignature` configuration and `--no-show-signature` option was
added at git 2.10.0.
Nothing needs rb_imemo_new exported anymore.
@pull pull bot locked and limited conversation to collaborators Sep 16, 2025
@pull pull bot added the ⤵️ pull label Sep 16, 2025
@pull pull bot merged commit 809dfb8 into turkdevops:master Sep 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants