mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
make-snapshot: fix stable snapshot
* tool/make-snapshot (package): VCS#branch_list expects glob a pattern string but not a regexp. based on the patch by Vit Ondruch. in [ruby-core:67064]. [Bug #10636] * tool/vcs.rb (VCS::SVN#branch_list): strip newlines. * tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time from toplevel log too. * tool/vcs.rb (VCS::GIT#branch_list): yield for each lines. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b1186bf39f
commit
730c941728
3 changed files with 24 additions and 4 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
Wed Dec 24 02:12:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* tool/make-snapshot (package): VCS#branch_list expects glob a
|
||||||
|
pattern string but not a regexp. based on the patch by Vit
|
||||||
|
Ondruch. in [ruby-core:67064]. [Bug #10636]
|
||||||
|
|
||||||
|
* tool/vcs.rb (VCS::SVN#branch_list): strip newlines.
|
||||||
|
|
||||||
|
* tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time
|
||||||
|
from toplevel log too.
|
||||||
|
|
||||||
|
* tool/vcs.rb (VCS::GIT#branch_list): yield for each lines.
|
||||||
|
|
||||||
Wed Dec 24 00:23:13 2014 NAKAMURA Usaku <usa@ruby-lang.org>
|
Wed Dec 24 00:23:13 2014 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* tool/extlibs.rb (do_extract): the pipe should be binmode.
|
* tool/extlibs.rb (do_extract): the pipe should be binmode.
|
||||||
|
|
|
@ -139,7 +139,7 @@ def package(vcs, rev, destdir, tmp = nil)
|
||||||
when /\Atags\//
|
when /\Atags\//
|
||||||
url = vcs.tag($')
|
url = vcs.tag($')
|
||||||
when /\Astable\z/
|
when /\Astable\z/
|
||||||
vcs.branch_list(/ruby_[0-9]*/) {|n| url = /\Aruby_\d+_\d+\z/ =~ n}
|
vcs.branch_list("ruby_[0-9]*") {|n| url = n[/\Aruby_\d+_\d+\z/]}
|
||||||
url &&= vcs.branch(url)
|
url &&= vcs.branch(url)
|
||||||
when /\A(.*)\.(.*)\.(.*)-(preview|rc)(\d+)/
|
when /\A(.*)\.(.*)\.(.*)-(preview|rc)(\d+)/
|
||||||
prerelease = true
|
prerelease = true
|
||||||
|
|
13
tool/vcs.rb
13
tool/vcs.rb
|
@ -161,6 +161,7 @@ class VCS
|
||||||
def branch_list(pat)
|
def branch_list(pat)
|
||||||
IO.popen(%W"svn ls #{branch('')}") do |f|
|
IO.popen(%W"svn ls #{branch('')}") do |f|
|
||||||
f.each do |line|
|
f.each do |line|
|
||||||
|
line.chomp!
|
||||||
line.chomp!('/')
|
line.chomp!('/')
|
||||||
yield(line) if File.fnmatch?(pat, line)
|
yield(line) if File.fnmatch?(pat, line)
|
||||||
end
|
end
|
||||||
|
@ -195,7 +196,8 @@ class VCS
|
||||||
logcmd[1, 0] = ["-C", srcdir] if srcdir
|
logcmd[1, 0] = ["-C", srcdir] if srcdir
|
||||||
logcmd << "--grep=^ *git-svn-id: .*@[0-9][0-9]*"
|
logcmd << "--grep=^ *git-svn-id: .*@[0-9][0-9]*"
|
||||||
idpat = /git-svn-id: .*?@(\d+) \S+\Z/
|
idpat = /git-svn-id: .*?@(\d+) \S+\Z/
|
||||||
last = IO.pread(logcmd)[idpat, 1]
|
log = IO.pread(logcmd)
|
||||||
|
last = log[idpat, 1]
|
||||||
if path
|
if path
|
||||||
log = IO.pread(logcmd + [path])
|
log = IO.pread(logcmd + [path])
|
||||||
changed = log[idpat, 1]
|
changed = log[idpat, 1]
|
||||||
|
@ -222,10 +224,15 @@ class VCS
|
||||||
branch(IO.pread(cmd)[/.*^(ruby_\d+_\d+)$/m, 1])
|
branch(IO.pread(cmd)[/.*^(ruby_\d+_\d+)$/m, 1])
|
||||||
end
|
end
|
||||||
|
|
||||||
def branch_list(pat, &block)
|
def branch_list(pat)
|
||||||
cmd = %W"git for-each-ref --format=\%(refname:short) refs/heads/#{pat}"
|
cmd = %W"git for-each-ref --format=\%(refname:short) refs/heads/#{pat}"
|
||||||
cmd[1, 0] = ["-C", @srcdir] if @srcdir
|
cmd[1, 0] = ["-C", @srcdir] if @srcdir
|
||||||
IO.popen(cmd, &block)
|
IO.popen(cmd) {|f|
|
||||||
|
f.each {|line|
|
||||||
|
line.chomp!
|
||||||
|
yield line
|
||||||
|
}
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def grep(pat, tag, *files, &block)
|
def grep(pat, tag, *files, &block)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue