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}`
|
`svn propget svn:mergeinfo #{RUBY_REPO_PATH}`
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def find_svn_log(pattern)
|
||||||
|
`svn log --xml --stop-on-copy --search='#{pattern}' #{RUBY_REPO_PATH}`
|
||||||
|
end
|
||||||
|
|
||||||
def show_last_journal(http, uri)
|
def show_last_journal(http, uri)
|
||||||
res = http.get("#{uri.path}?include=journals")
|
res = http.get("#{uri.path}?include=journals")
|
||||||
res.value
|
res.value
|
||||||
|
@ -216,7 +220,7 @@ def show_last_journal(http, uri)
|
||||||
end
|
end
|
||||||
|
|
||||||
def backport_command_string
|
def backport_command_string
|
||||||
"backport --ticket=#{@issue} #{@changesets.join(',')}"
|
" backport --ticket=#{@issue} #{@changesets.join(',')}"
|
||||||
end
|
end
|
||||||
|
|
||||||
console = IO.console
|
console = IO.console
|
||||||
|
@ -298,6 +302,7 @@ eom
|
||||||
|
|
||||||
when /\Adone(?: +(\d+))?(?: -- +(.*))?\z/
|
when /\Adone(?: +(\d+))?(?: -- +(.*))?\z/
|
||||||
notes = $2
|
notes = $2
|
||||||
|
notes.strip! if notes
|
||||||
if $1
|
if $1
|
||||||
i = $1.to_i
|
i = $1.to_i
|
||||||
i = @issues[i]["id"] if @issues && i < @issues.size
|
i = @issues[i]["id"] if @issues && i < @issues.size
|
||||||
|
@ -308,6 +313,23 @@ eom
|
||||||
next
|
next
|
||||||
end
|
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")
|
uri = URI("#{REDMINE_BASE}/issues/#{@issue}.json")
|
||||||
Net::HTTP.start(uri.host, uri.port, http_options) do |http|
|
Net::HTTP.start(uri.host, uri.port, http_options) do |http|
|
||||||
res = http.get(uri.path)
|
res = http.get(uri.path)
|
||||||
|
|
Loading…
Reference in a new issue