Added release option to sync only released version of the default gems

This commit is contained in:
Hiroshi SHIBATA 2022-03-08 21:08:46 +09:00
parent bfc697f1e2
commit 1adc7aa630
No known key found for this signature in database
GPG Key ID: F9CF13417264FAC2

View File

@ -530,7 +530,7 @@ def sync_lib(repo, upstream = nil)
cp_r("#{upstream}/#{repo}.gemspec", "#{gemspec}") cp_r("#{upstream}/#{repo}.gemspec", "#{gemspec}")
end end
def update_default_gems(gem) def update_default_gems(gem, release: false)
author, repository = REPOSITORIES[gem.to_sym].split('/') author, repository = REPOSITORIES[gem.to_sym].split('/')
@ -552,9 +552,15 @@ def update_default_gems(gem)
end end
`git checkout ruby-core` `git checkout ruby-core`
`git rebase ruby-core/master` `git rebase ruby-core/master`
`git checkout master` `git fetch origin --tags`
`git fetch origin master`
`git rebase origin/master` if release
last_release = `git tag`.chomp.split.last
`git checkout #{last_release}`
else
`git checkout master`
`git rebase origin/master`
end
end end
end end
@ -566,7 +572,14 @@ when "up"
REPOSITORIES.keys.each{|gem| update_default_gems(gem.to_s)} REPOSITORIES.keys.each{|gem| update_default_gems(gem.to_s)}
end end
when "all" when "all"
REPOSITORIES.keys.each{|gem| sync_default_gems(gem.to_s)} if ARGV[1] == "release"
REPOSITORIES.keys.each do |gem|
update_default_gems(gem.to_s, release: true)
sync_default_gems(gem.to_s)
end
else
REPOSITORIES.keys.each{|gem| sync_default_gems(gem.to_s)}
end
when "list" when "list"
ARGV.shift ARGV.shift
pattern = Regexp.new(ARGV.join('|')) pattern = Regexp.new(ARGV.join('|'))