summaryrefslogtreecommitdiff
path: root/lib/rubygems/commands
AgeCommit message (Collapse)Author
9 days[rubygems/rubygems] Avoid unnecessary splat allocationJeremy Evans
Because get_push_scope is a method call, Ruby will allocate an array for *args even though it is not necessary to do so. Using a local variable avoids the allocation. Found by the performance warning in Ruby feature 21274. https://github.com/rubygems/rubygems/commit/0473c0cf32
2025-03-27[rubygems/rubygems] Have "gem exec" sort executable names in error message.Ellen Marie Dash
This decouples `gem exec` behavior (and tests) from the sort order of the gemspec. https://github.com/rubygems/rubygems/commit/911cd29159
2025-03-24[rubygems/rubygems] Let `gem exec` raise an error in ambiguous casesDavid Rodríguez
When `gem exec foo` is run, and "foo" is a gem that has multiple executables, none of them named "foo", raise an error explaining the situation and telling user to be more specific. Currently the first command in the executables array is run, but this may come as surprising sometimes, so better raise an error. https://github.com/rubygems/rubygems/commit/acda5d8f6e Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-01-09[rubygems/rubygems] Add credentials file path to "gem env".Ellen Marie Dash
There are 3 possible locations: - $HOME/.gem/credentials - $XDG_DATA_HOME/gem/credentials - $HOME/.local/share/gem/credentials https://github.com/rubygems/rubygems/commit/c51756b96e
2024-11-26[rubygems/rubygems] Enable `Performance/MapCompact` copDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0c3a65871a
2024-11-26[rubygems/rubygems] More aggressive `Performance/FlatMap` cop configurationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d8d68cc00e
2024-11-25[rubygems/rubygems] Remove comment about oldest supported versionDavid Rodríguez
That's indeed the ideal behavior but it's a mess to maintain because the version of RubyGems shipped with each patchlevel of Ruby changes. We could try looking at the `VERSION` constant in ` RbConfig::CONFIG["rubylibdir"` but for now I calling what's in there now as good enough. https://github.com/rubygems/rubygems/commit/40ccf2b093
2024-11-25[rubygems/rubygems] Remove unnecessary and out of date ruby version checkDavid Rodríguez
We already do this check in `setup.rb` itself, which is run earlier. https://github.com/rubygems/rubygems/commit/160cc3f1c5
2024-11-25[rubygems/rubygems] Remove now dead codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/31fadaf2d2
2024-11-21[rubygems/rubygems] Set $0 to exe when running `gem exec` to fix name in CLI ↵Adam Daniels
output The $0 value is used in many CLI libraries to determine the name of the application, when displaying help and error messages. Without setting this value, it defaults to `gem` which can be confusing. Before: ``` $ gem exec kamal help Commands: gem accessory # Manage accessories (db/redis/search) gem app # Manage application gem audit # Show audit log from servers gem build # Build application image gem config # Show combined config (including secrets!) gem deploy # Deploy app to servers gem details # Show details about all containers gem docs [SECTION] # Show Kamal configuration documentation gem help [COMMAND] # Describe available commands or one specific command gem init # Create config stub in config/deploy.yml and secrets stub in .kamal gem lock # Manage the deploy lock gem proxy # Manage kamal-proxy gem prune # Prune old application images and containers gem redeploy # Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login gem registry # Login and -out of the image registry gem remove # Remove kamal-proxy, app, accessories, and registry session from servers gem rollback [VERSION] # Rollback app to VERSION gem secrets # Helpers for extracting secrets gem server # Bootstrap servers with curl and Docker gem setup # Setup all accessories, push the env, and deploy app to servers gem upgrade # Upgrade from Kamal 1.x to 2.0 gem version # Show Kamal version ``` After: ``` $ gem exec kamal help Commands: kamal accessory # Manage accessories (db/redis/search) kamal app # Manage application kamal audit # Show audit log from servers kamal build # Build application image kamal config # Show combined config (including secrets!) kamal deploy # Deploy app to servers kamal details # Show details about all containers kamal docs [SECTION] # Show Kamal configuration documentation kamal help [COMMAND] # Describe available commands or one specific command kamal init # Create config stub in config/deploy.yml and secrets stub in .kamal kamal lock # Manage the deploy lock kamal proxy # Manage kamal-proxy kamal prune # Prune old application images and containers kamal redeploy # Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login kamal registry # Login and -out of the image registry kamal remove # Remove kamal-proxy, app, accessories, and registry session from servers kamal rollback [VERSION] # Rollback app to VERSION kamal secrets # Helpers for extracting secrets kamal server # Bootstrap servers with curl and Docker kamal setup # Setup all accessories, push the env, and deploy app to servers kamal upgrade # Upgrade from Kamal 1.x to 2.0 kamal version # Show Kamal version ``` https://github.com/rubygems/rubygems/commit/4fd060b96d
2024-11-20[rubygems/rubygems] Add --attestation option to gem pushSamuel Giddins
Signed-off-by: Samuel Giddins <segiddins@segiddins.me> https://github.com/rubygems/rubygems/commit/a5412d9a0e
2024-10-30[rubygems/rubygems] Fix `gem update --system` leaving old default bundler ↵David Rodríguez
executables around https://github.com/rubygems/rubygems/commit/4b81add54c
2024-10-14[rubygems/rubygems] Fix `gem contents` for default gemsDavid Rodríguez
A default gem does not always live in the same place. For example, Bundler may be installed to `site_dir` when RubyGems have been upgraded. A more reliable way seems to actually activate the default gem, so that we can know for sure where it lives. https://github.com/rubygems/rubygems/commit/c69f6dfb18
2024-10-10[rubygems/rubygems] Only pristine executables for default gemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/1cfc1d626c
2024-10-09[rubygems/rubygems] Allow `gem pristine` to reset default gems tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c9e665eb8a
2024-09-30[rubygems/rubygems] `gem cleanup` no longer needs to reset pathsDavid Rodríguez
Since `Gem::Uninstaller` no longer changes paths either. https://github.com/rubygems/rubygems/commit/427059d45f
2024-09-09[rubygems/rubygems] Avoid now unnecessary resetDavid Rodríguez
https://github.com/rubygems/rubygems/commit/511c7b211b
2024-09-09[rubygems/rubygems] Make `gem exec` use the standard GEM_HOMEDavid Rodríguez
https://github.com/rubygems/rubygems/commit/032b3c518a
2024-09-09[rubygems/rubygems] Fix `gem fetch` always exiting with zero status codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/5887e6dfa1
2024-09-06[rubygems/rubygems] Remove unreachable codeDavid Rodríguez
Nothing is actually raising this at the moment. https://github.com/rubygems/rubygems/commit/3b824ca7a6
2024-09-01Skip RDoc related feature if Gem::RDoc is not availableHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/11491
2024-08-21[rubygems/rubygems] Fix `gem uninstall <name>:<version>` failing on shadowed ↵David Rodríguez
default gems https://github.com/rubygems/rubygems/commit/29357a5dd6
2024-06-21[rubygems/rubygems] Update contents of gem.bat on Windowsccmywish
(https://github.com/rubygems/rubygems/pull/6483) https://github.com/rubygems/rubygems/commit/41d8cffd2e Co-Authored-By: MSP-Greg <Greg.mpls@gmail.com>
2024-06-01Sychronize with rubygems/rubygems repoDavid Rodríguez
2024-05-30Revert "[rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine ↵Hiroshi SHIBATA
user installed gems" This reverts commit a3edc4abc574b04bcacfae2af188cce7d27bfcf1. That commit caused test failure with Windows platform. * https://github.com/ruby/ruby/actions/runs/9289018414/job/25561871390 * https://github.com/ruby/ruby/actions/runs/9289018425/job/25561873060
2024-05-29[rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine user ↵David Rodriguez
installed gems https://github.com/rubygems/rubygems/commit/0eb6ed8f86
2024-05-16[rubygems/rubygems] Fix binstubs sometimes not getting regenerated when ↵David Rodriguez
`--destdir` is given This was only working for gems also installed in the default gem home. https://github.com/rubygems/rubygems/commit/47df02dbd9
2024-05-16[rubygems/rubygems] Fix error message calling method removed a long time agoDavid Rodriguez
https://github.com/rubygems/rubygems/commit/5fbe5e43d6
2024-04-21[rubygems/rubygems] Clear temporary directoryNobuyoshi Nakada
https://github.com/rubygems/rubygems/commit/4158034d89
2024-03-31[rubygems/rubygems] [commands/rebuild] Remove unused DATE_FORMAT constant.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/3c4e3fadc9
2024-03-29[rubygems/rubygems] [build, rebuild] Split common find_gemspec() out to ↵Ellen Marie Dash
GemspecHelpers. https://github.com/rubygems/rubygems/commit/2f80a595c4
2024-03-29[rubygems/rubygems] Improve formatting of "gem rebuild --help" output.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/701550f9dd
2024-03-29[rubygems/rubygems] [rebuild] If --diff is not passed and a rebuild fails, ↵Ellen Marie Dash
suggest passing --diff. https://github.com/rubygems/rubygems/commit/7caadd182c
2024-03-29[rubygems/rubygems] [rebuild_command] Bail early if the RubyGems version ↵Ellen Marie Dash
doesn't match. https://github.com/rubygems/rubygems/commit/a691170dc7
2024-03-29[rubygems/rubygems] [rebuild_command] Use Gem.* helpers.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/8644ce7193
2024-03-29[rubygems/rubygems] [rebuild_command] Clean up help text.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/4446389f2e
2024-03-29[rubygems/rubygems] [rebuild_command] Use temporary directory instead of the ↵Ellen Marie Dash
working directory. https://github.com/rubygems/rubygems/commit/f2e4e5b56f
2024-03-29[rubygems/rubygems] [rebuild_command] Add --diff flag to try using diffoscope.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/3e9545193a
2024-03-29[rubygems/rubygems] [rebuild_command] Avoid leaking files.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/3b88553d0d
2024-03-29[rubygems/rubygems] Add "gem rebuild" command.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/6d661573f0
2024-02-21[rubygems/rubygems] Use https instead of httpHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/bcbe6f7b7a
2024-01-29Vendor uri gem in RubyGemsDavid Rodríguez
2024-01-24[rubygems/rubygems] Remove no longer necessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/b7d2de2ba8
2024-01-11[rubygems/rubygems] Always avoid "Updating rubygems-update" messageDavid Rodríguez
The fact that under the hood the upgrade is done through a rubygems-update gem is an implementation detail that does not really help users to know. Plus, it reads a bit weird. https://github.com/rubygems/rubygems/commit/0fa5c50258
2024-01-11[rubygems/rubygems] Make `gem update --system` respect ruby version constraintsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/36052abbe2
2024-01-11[rubygems/rubygems] Remove old condition no longer necessaryDavid Rodríguez
https://github.com/rubygems/rubygems/commit/701980b240
2024-01-11[rubygems/rubygems] bin/rubocop -A --only Style/StringLiteralsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/f25013bcc0
2024-01-11[rubygems/rubygems] bin/rubocop -A --only Performance/StringIncludeHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/34df962cf4
2024-01-04[rubygems/rubygems] remove useless comments from unpack_command.rbhyuraku
https://github.com/rubygems/rubygems/commit/7576c21295
2023-12-15[rubygems/rubygems] Fix `ruby setup.rb` leaving traces in source folderDavid Rodríguez
It's the `Gem::Installer` below what installs executables, and the code being deleted here is now actually creating a `gems/` folder in the root of the source repo when running `ruby setup.rb`. https://github.com/rubygems/rubygems/commit/0e69a8b0d6
close