diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-03-08 21:08:46 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-03-08 21:08:46 +0900 |
commit | 1adc7aa630d43e04cf5e75bbbbcf48b72a6e6c45 (patch) | |
tree | 7595c1cac242fa9708a1d7218fb5d1004581f363 /tool/sync_default_gems.rb | |
parent | bfc697f1e26f1406c45ec7309ca0d4c0b5ecedd6 (diff) |
Added release option to sync only released version of the default gems
Diffstat (limited to 'tool/sync_default_gems.rb')
-rwxr-xr-x | tool/sync_default_gems.rb | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb index ca5283d2c3..fe7510c1aa 100755 --- a/tool/sync_default_gems.rb +++ b/tool/sync_default_gems.rb @@ -530,7 +530,7 @@ def sync_lib(repo, upstream = nil) cp_r("#{upstream}/#{repo}.gemspec", "#{gemspec}") end -def update_default_gems(gem) +def update_default_gems(gem, release: false) author, repository = REPOSITORIES[gem.to_sym].split('/') @@ -552,9 +552,15 @@ def update_default_gems(gem) end `git checkout ruby-core` `git rebase ruby-core/master` - `git checkout master` - `git fetch origin master` - `git rebase origin/master` + `git fetch origin --tags` + + if release + last_release = `git tag`.chomp.split.last + `git checkout #{last_release}` + else + `git checkout master` + `git rebase origin/master` + end end end @@ -566,7 +572,14 @@ when "up" REPOSITORIES.keys.each{|gem| update_default_gems(gem.to_s)} end 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" ARGV.shift pattern = Regexp.new(ARGV.join('|')) |