mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
add backport commit detection
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7662937cab
commit
7322a22816
1 changed files with 23 additions and 1 deletions
|
@ -199,6 +199,10 @@ def mergeinfo
|
|||
`svn propget svn:mergeinfo #{RUBY_REPO_PATH}`
|
||||
end
|
||||
|
||||
def find_svn_log(pattern)
|
||||
`svn log --xml --stop-on-copy --search='#{pattern}' #{RUBY_REPO_PATH}`
|
||||
end
|
||||
|
||||
def show_last_journal(http, uri)
|
||||
res = http.get("#{uri.path}?include=journals")
|
||||
res.value
|
||||
|
@ -216,7 +220,7 @@ def show_last_journal(http, uri)
|
|||
end
|
||||
|
||||
def backport_command_string
|
||||
"backport --ticket=#{@issue} #{@changesets.join(',')}"
|
||||
" backport --ticket=#{@issue} #{@changesets.join(',')}"
|
||||
end
|
||||
|
||||
console = IO.console
|
||||
|
@ -298,6 +302,7 @@ eom
|
|||
|
||||
when /\Adone(?: +(\d+))?(?: -- +(.*))?\z/
|
||||
notes = $2
|
||||
notes.strip! if notes
|
||||
if $1
|
||||
i = $1.to_i
|
||||
i = @issues[i]["id"] if @issues && i < @issues.size
|
||||
|
@ -308,6 +313,23 @@ eom
|
|||
next
|
||||
end
|
||||
|
||||
log = find_svn_log("##@issue]")
|
||||
if log
|
||||
rev = log[/revision="(\d+)/, 1]
|
||||
str = log[/merge revision\(s\) ([^:]+)(?=:)/]
|
||||
str.insert(5, "d")
|
||||
str = "ruby_#{TARGET_VERSION.tr('.','_')} r#{rev} #{str}."
|
||||
if notes
|
||||
str << "\n"
|
||||
str << notes
|
||||
end
|
||||
notes = str
|
||||
else
|
||||
puts "no commit is found whose log include ##@issue"
|
||||
next
|
||||
end
|
||||
puts notes
|
||||
|
||||
uri = URI("#{REDMINE_BASE}/issues/#{@issue}.json")
|
||||
Net::HTTP.start(uri.host, uri.port, http_options) do |http|
|
||||
res = http.get(uri.path)
|
||||
|
|
Loading…
Reference in a new issue