Skip to content

Fix bundle outdated --groups to actually group output#9699

Open
nevinera wants to merge 1 commit into
ruby:masterfrom
nevinera:nev/9333/fix-bundle-outdated-groups-argument
Open

Fix bundle outdated --groups to actually group output#9699
nevinera wants to merge 1 commit into
ruby:masterfrom
nevinera:nev/9333/fix-bundle-outdated-groups-argument

Conversation

@nevinera

@nevinera nevinera commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Purpose

Update bundle outdated --groups to produce its table of output actually sorted by group.

Analysis

print_indented unconditionally sorted table rows by gem name, discarding the group clustering that --groups had already computed, so --groups produced output identical to plain outdated (#9333). Skip that re-sort when a --group/--groups option is active, since specs_for_outdated_check already sorts by name and group_by preserves that order within each group.

What was the end-user or developer problem that led to this PR?

A (correct) observation in #9333 that bundle outdated --groups was not actually grouping at all.

What is your fix for the problem, implemented in this PR?

  • Update the existing test on this to assert a more obviously failing result - because listing the gems alphabetically also resulted in them being accidentally "grouped"
  • Add a sort = true second positional parameter to print_indented!, which controls whether to sort its results before printing
  • in print_gems_table, determine whether to sort based on the options_include_groups attr, which is true if --groups or --group foo is supplied.

Make sure the following tasks are checked

print_indented unconditionally sorted table rows by gem name,
discarding the group clustering that --groups had already computed,
so --groups produced output identical to plain outdated (ruby#9333).
Skip that re-sort when a --group/--groups option is active, since
specs_for_outdated_check already sorts by name and group_by preserves
that order within each group.

Also fixes the outdated_spec.rb "--groups" test, which previously
passed regardless of whether grouping worked because its expected
output happened to match alphabetical-by-name ordering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant