Skip to content

Commit 995eba7

Browse files
hsbtclaude
andcommitted
Fix pinned gems being removed from bundled_gems by update script
Using `next` in `-p` mode skips the implicit `print $_`, causing pinned gem lines (e.g. rbs) to be silently dropped from the output. Replace `next` with an `unless` guard so the line is always printed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3ef41a5 commit 995eba7

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

tool/update-bundled_gems.rb

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,34 @@
1212
output.print date.strftime("latest_date=%F") if date
1313
}
1414
if gem = $F[0]
15-
next if pinned.include?(gem)
16-
ver = Gem::Version.new($F[1])
17-
(gem, src), = Gem::SpecFetcher.fetcher.detect(:latest) {|s|
18-
s.platform == "ruby" && s.name == gem
19-
}
20-
if gem.version > ver
21-
gem = src.fetch_spec(gem)
22-
if ENV["UPDATE_BUNDLED_GEMS_ALL"]
23-
uri = gem.metadata["source_code_uri"] || gem.homepage
24-
uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "").chomp(".git")
25-
else
26-
uri = $F[2]
27-
end
28-
if (!date or gem.date && gem.date > date) and gem.date.to_i != 315_619_200
29-
# DEFAULT_SOURCE_DATE_EPOCH is meaningless
30-
date = gem.date
31-
end
32-
if $F[3]
33-
if $F[3].include?($F[1])
34-
$F[3][$F[1]] = gem.version.to_s
35-
elsif Gem::Version.new($F[1]) != gem.version and /\A\h+\z/ =~ $F[3]
36-
$F[3..-1] = []
15+
unless pinned.include?(gem)
16+
ver = Gem::Version.new($F[1])
17+
(gem, src), = Gem::SpecFetcher.fetcher.detect(:latest) {|s|
18+
s.platform == "ruby" && s.name == gem
19+
}
20+
if gem.version > ver
21+
gem = src.fetch_spec(gem)
22+
if ENV["UPDATE_BUNDLED_GEMS_ALL"]
23+
uri = gem.metadata["source_code_uri"] || gem.homepage
24+
uri = uri.sub(%r[\Ahttps://github\.com/[^/]+/[^/]+\K/tree/.*], "").chomp(".git")
25+
else
26+
uri = $F[2]
27+
end
28+
if (!date or gem.date && gem.date > date) and gem.date.to_i != 315_619_200
29+
# DEFAULT_SOURCE_DATE_EPOCH is meaningless
30+
date = gem.date
31+
end
32+
if $F[3]
33+
if $F[3].include?($F[1])
34+
$F[3][$F[1]] = gem.version.to_s
35+
elsif Gem::Version.new($F[1]) != gem.version and /\A\h+\z/ =~ $F[3]
36+
$F[3..-1] = []
37+
end
3738
end
39+
f = [gem.name, gem.version.to_s, uri, *$F[3..-1]]
40+
$_.gsub!(/\S+\s*(?=\s|$)/) {|s| (f.shift || "").ljust(s.size)}
41+
$_ = [$_, *f].join(" ") unless f.empty?
42+
$_.rstrip!
3843
end
39-
f = [gem.name, gem.version.to_s, uri, *$F[3..-1]]
40-
$_.gsub!(/\S+\s*(?=\s|$)/) {|s| (f.shift || "").ljust(s.size)}
41-
$_ = [$_, *f].join(" ") unless f.empty?
42-
$_.rstrip!
4344
end
4445
end

0 commit comments

Comments
 (0)