Find nearest milestone for forward merge with .x pattern

Fixes gh-22350
This commit is contained in:
Scott Frederick 2020-07-15 17:04:34 -05:00
parent d9882f2c88
commit e5ec6dfef0

View File

@ -62,16 +62,17 @@ def find_milestone(username, password, repository, title)
milestones = JSON.parse(response.body)
if title.end_with?(".x")
prefix = title.delete_suffix('.x')
$log.debug "Finding latest milestone from candidates starting with #{prefix}"
$log.debug "Finding nearest milestone from candidates starting with #{prefix}"
titles = milestones.map { |milestone| milestone['title'] }
titles = titles.select{ |title| title.start_with?(prefix) unless title.end_with?('.x')}
titles.sort_by { |v| Gem::Version.new(v) }
titles = titles.sort_by { |v| Gem::Version.new(v) }
$log.debug "Considering candidates #{titles}"
if(titles.empty?)
puts "Cannot find latest for milestone #{title}"
puts "Cannot find nearest milestone for prefix #{title}"
exit 1
end
title = titles.last
$log.debug "Found latest milestone #{title}"
title = titles.first
$log.debug "Found nearest milestone #{title}"
end
milestones.each do |milestone|
$log.debug "Considering #{milestone['title']}"