From c8e1be6f1fed7f4f54d5ac1f7ae1ebe2c0f60dbe Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Sun, 14 Jul 2019 17:53:14 +0900 Subject: Skip merge commit with rubygems and bundler. --- tool/sync_default_gems.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'tool') diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb index 7f5e597f24..5c9ee9a856 100644 --- a/tool/sync_default_gems.rb +++ b/tool/sync_default_gems.rb @@ -238,12 +238,18 @@ def sync_default_gems_with_commits(gem, range) end end - IO.popen(%W"git log --format=%H #{range}") do |commits| - commits.read.split.reverse.each do |commit| - puts "Pick #{commit} from #{$repositories[gem.to_sym]}." - `git cherry-pick #{commit}` + IO.popen(%W"git log --format=%H,%s #{range}") do |f| + commits = f.read.split("\n").reverse.map{|commit| commit.split(',')} + commits.each do |sha, subject| + puts "Pick #{sha} from #{$repositories[gem.to_sym]}." + if subject =~ /^Merge/ + puts "Skip #{sha}. Because It was merge commit" + next + end + + `git cherry-pick #{sha}` unless $?.success? - puts "Failed to pick #{commit}." + puts "Failed to pick #{sha}" break end -- cgit v1.2.3