| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Paul-Bob/improvement/include_response_body_on_fetch_http_error"
This reverts commit https://github.com/rubygems/rubygems/commit/e5a4fd9eb617, reversing
changes made to https://github.com/rubygems/rubygems/commit/c5a5363b0c98.
https://github.com/rubygems/rubygems/commit/e21c45c4c3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rubygems-generate_index gem
So generate_index can be implemented with dependencies, such as the compact index
Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853
Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem
Apply suggestions from code review
https://github.com/rubygems/rubygems/commit/fc1cb9bc9e
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/bb66253f2c
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6a06b0763f
|
|
|
|
|
|
| |
when GEM_HOME not writable
https://github.com/rubygems/rubygems/commit/f67bced16b
|
|
|
|
|
|
|
|
|
|
|
| |
Replace use of `STDIN`, `STDOUT` and `STDERR` constants by their
`$stdin`, `$stdout` and `$stderr` global variable equivalents.
This enables easier testing via standard means, such as `assert_output`
for minitest or `expect { print 'foo' }.to output.to_stdout` for RSpec
test suites.
https://github.com/rubygems/rubygems/commit/a0a6fc1b76
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/e5b0458342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is based on the list in Gem::UpdateSuggestion and Bundler::Fetcher;
these have similar purposes (determining whether/what CI we're executing
in), and can benefit from being combined and updated (they're both
slightly out of date).
Noteable changes:
* We'll consider ourselves to be on a CI in more cases - if CI_NAME or
TASKCLUSTER_ROOT_URL are set specifically, since those represent two
cases that were either overlooked or are no longer covered by the
existing implementation. (Or possibly TaskCluster still does provide
RUN_ID, but failed to document it)
* We will notice/track a few additional services in ci_strings (cirrus,
dsari, taskcluster), stop tracking 'snap' (they went under in 2017),
and update buildbox to buildkite (they've been called that for 8
years, and the BUILDBOX envs have been deprecated for 3).
* We'll also sort/uniq/downcase the values (all of which only matter
because of the special case of CI_NAME).
https://github.com/rubygems/rubygems/commit/60652b942f
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/46258d6cb4
|
|
|
|
|
|
|
|
|
|
| |
Checking writability is prone to errors. For example:
$ mkdir -p foo/bar
$ chmod -w foo
$ touch foo/bar/baz # succeeds even if foo is not writable
https://github.com/rubygems/rubygems/commit/6056138b6a
|
|
|
|
|
|
| |
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/69cdf9e9d4
|
|
|
|
|
|
| |
it matters.
https://github.com/rubygems/rubygems/commit/61b0947225
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/4eade32ad6
|
|
|
|
|
|
| |
Replace ``String#split("\n").each`` with ``String#each_line``.
https://github.com/rubygems/rubygems/commit/958744807d
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/de4189af35
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/e119f4208a
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/d06544add2
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/56ce2a6445
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/70243b1d72
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/10c26a483d
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/625b8293f7
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/c0b549f943
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`--user-install`
The combination of `install-dir` and `--user-install` used to be
disabled for no good reason. This even makes problem on Linux
distributions such as Fedora, where `--user-install` is set by default
via operating_system.rb.
The `--install-dir` is already prefered over the `--user-install` by
the implementation, therefore just drop the check.
https://github.com/rubygems/rubygems/commit/313b1c5e76
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main purpose is to put handling of user installation into the same
place as e.g. handling the --build-root option handling. There is no
reason why the --build-root option should not prefix also paths used for
user installation.
Please note that the `util_installer` in
`test_generate_plugins_with_user_install` enforced the `:install_dir`,
which is against what user install is about.
https://github.com/rubygems/rubygems/commit/0b10cb41aa
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/e69a43ac9f
|
|
|
|
|
|
| |
Instead of NoMethodError being raised by accidentally trying to use nil
https://github.com/rubygems/rubygems/commit/ac8f812bbf
|
|
|
|
|
|
|
| |
The result of `arch` would be ignored if `@local` is set, so wrap all
the logic in `@local ||=` to short-circuit everything
https://github.com/rubygems/rubygems/commit/b67d39f3e0
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/7c0afdd9af
|
|
|
|
|
|
| |
Previously, `rake install` or `rake update` would fail if there was a non-tar format `.gem` file in the current working directory.
https://github.com/rubygems/rubygems/commit/f562788f1d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gets the specs passing, and handles the fact that we expect
checkums to be pinned only to a particular source
This also avoids reading in .gem files during lockfile generation,
instead allowing us to query the source for each resolved gem to grab
the checksum
Finally, this opens up a route to having user-stored checksum databases,
similar to how other package managers do this!
Add checksums to dev lockfiles
Handle full name conflicts from different original_platforms when adding checksums to store from compact index
Specs passing on Bundler 3
https://github.com/rubygems/rubygems/commit/86c7084e1c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if possible
1. Use the checksum provided by the server if provided: provides security
knowing if the gem you downloaded matches the gem on the server
2. Calculate the checksum from the gem on disk: provides security knowing
if the gem has changed between installs
3. In some cases, neither is possible in which case we don't put anything
in the checksum and we maintain functionality as it is today
Add the checksums to specs in the index if we already have them
Prior to checksums, we didn't lose any information when overwriting specs
in the index with stubs. But now when we overwrite EndpointSpecifications
or RemoteSpecifications with more generic specs, we could lose checksum
info. This manually sets checksum info so we keep it in the index.
https://github.com/rubygems/rubygems/commit/de00a4f153
|
|
|
|
|
|
| |
platform variation
https://github.com/rubygems/rubygems/commit/49aaa46708
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, you can install multiple versions of the same gem just fine:
```
$ gem install simplecov:0.19.0 simplecov:0.22.0
Fetching simplecov-0.19.0.gem
Successfully installed simplecov-0.19.0
Parsing documentation for simplecov-0.19.0
Installing ri documentation for simplecov-0.19.0
Done installing documentation for simplecov after 0 seconds
Fetching simplecov-0.22.0.gem
Successfully installed simplecov-0.22.0
Parsing documentation for simplecov-0.22.0
Installing ri documentation for simplecov-0.22.0
Done installing documentation for simplecov after 0 seconds
2 gems installed
```
But to uninstall both of them, you need to run the equivalent uninstall
command twice:
```
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Successfully uninstalled simplecov-0.22.0
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Gem 'simplecov' is not installed
Successfully uninstalled simplecov-0.19.0
```
This resolves that problem by using the gem's full name (which includes
the version) when tracking which ones have already been uninstalled so
when it gets to the second version listed it doesn't think it was
already uninstalled.
https://github.com/rubygems/rubygems/commit/d96101b753
|
|
|
|
|
|
|
|
|
|
|
| |
writable, use it.
I couldn't find a cross-platform way to check "can I create this directory?"
So I removed that, and went back to the original simpler logic of
"if the directory is writable, use it."
https://github.com/rubygems/rubygems/commit/3aa86a56db
|
|
|
|
|
|
|
| |
The function is also significantly simpler than it used to be,
to the point I'm not sure it needs a comment.
https://github.com/rubygems/rubygems/commit/29a0551e37
|
|
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/b7c531347e
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
|
|
|
|
|
|
| |
Gem::Version.canonical_segments
https://github.com/rubygems/rubygems/commit/338c48f935
|
|
|
|
| |
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
|
|
|
|
|
|
| |
`--install-dir` and `--user-install` can suppress it.
https://github.com/rubygems/rubygems/commit/6677fc6853
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6b21f593f3
|
|
|
|
|
|
| |
GEM_HOME always overide it.
https://github.com/rubygems/rubygems/commit/64273fd7e3
|
|
|
|
|
|
|
|
| |
Gem.paths.home == Gem.user_dir.
(As opposed to only if `--user-install` is passed.)
https://github.com/rubygems/rubygems/commit/0b42d0e869
|
|
|
|
|
|
| |
"bundle doctor" specs.
https://github.com/rubygems/rubygems/commit/d7f3f901f1
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/13e0704c40
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/6d20585645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This still allocates a ton (a string for each line, plus a bunch of
splits into arrays), but it helps a bit when Bundler has to go through
dependency resolution.
```
==> memprof.after.txt <==
Total allocated: 194.14 MB (2317172 objects)
Total retained: 60.81 MB (593164 objects)
==> memprof.before.txt <==
Total allocated: 211.97 MB (2404890 objects)
Total retained: 62.85 MB (640342 objects)
```
https://github.com/rubygems/rubygems/commit/c68b41b0e5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From running in a random rails app I have locally, here are the changes
1) for `bundle lock --update --bundler` (forcing Bundler to go through
dependency resolution)
```
==> memprof.after.txt <==
Total allocated: 2.98 MB (48307 objects)
Total retained: 1.21 MB (16507 objects)
==> memprof.before.txt <==
Total allocated: 12.62 MB (198506 objects)
Total retained: 1.30 MB (23133 objects)
```
2) for `bin/rails runner true` (essentially only bundler/setup)
```
==> memprof.after.txt <==
Total allocated: 59.50 kB (1017 objects)
Total retained: 25.08 kB (362 objects)
==> memprof.before.txt <==
Total allocated: 561.82 kB (8575 objects)
Total retained: 27.28 kB (513 objects)
```
https://github.com/rubygems/rubygems/commit/35c8ed2cb8
|
|
|
|
|
|
| |
in <code> - fix rubygems.org link - fix zenspider.com link
https://github.com/rubygems/rubygems/commit/9eaac94a63
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/1e487e1337
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/f9cc6fed25
|