diff --git a/tool/redmine-backporter.rb b/tool/redmine-backporter.rb index 475054641b..7f08eb8d1a 100755 --- a/tool/redmine-backporter.rb +++ b/tool/redmine-backporter.rb @@ -353,14 +353,14 @@ eom if rev && has_commit(rev, "ruby_#{TARGET_VERSION.tr('.','_')}") notes = "ruby_#{TARGET_VERSION.tr('.','_')} commit:#{rev}." - elsif rev.nil? && (log = find_git_log("##@issue]")) && /^commit (?\h{40})$/ =~ log - str = log[/merge revision\(s\) ([^:]+)(?=:)/] - if str - str.sub!(/\Amerge/, 'merged') - str.gsub!(/\h{8,40}/, 'commit:\0') - str = "ruby_#{TARGET_VERSION.tr('.','_')} commit:#{rev} #{str}." + elsif rev.nil? && (log = find_git_log("##@issue]")) && !(revs = log.scan(/^commit (\h{40})$/).flatten).empty? + commits = revs.map { |rev| "commit:#{rev}" }.join(", ") + if merged_revs = log[/merge revision\(s\) ([^:]+)(?=:)/] + merged_revs.sub!(/\Amerge/, 'merged') + merged_revs.gsub!(/\h{8,40}/, 'commit:\0') + str = "ruby_#{TARGET_VERSION.tr('.','_')} #{commits} #{merged_revs}." else - str = "ruby_#{TARGET_VERSION.tr('.','_')} commit:#{rev}." + str = "ruby_#{TARGET_VERSION.tr('.','_')} #{commits}." end if notes str << "\n"