1
0
Fork 0
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:
nobu 2014-12-23 17:12:25 +00:00
parent b1186bf39f
commit 730c941728
3 changed files with 24 additions and 4 deletions

View file

@ -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>
* tool/extlibs.rb (do_extract): the pipe should be binmode.

View file

@ -139,7 +139,7 @@ def package(vcs, rev, destdir, tmp = nil)
when /\Atags\//
url = vcs.tag($')
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)
when /\A(.*)\.(.*)\.(.*)-(preview|rc)(\d+)/
prerelease = true

View file

@ -161,6 +161,7 @@ class VCS
def branch_list(pat)
IO.popen(%W"svn ls #{branch('')}") do |f|
f.each do |line|
line.chomp!
line.chomp!('/')
yield(line) if File.fnmatch?(pat, line)
end
@ -195,7 +196,8 @@ class VCS
logcmd[1, 0] = ["-C", srcdir] if srcdir
logcmd << "--grep=^ *git-svn-id: .*@[0-9][0-9]*"
idpat = /git-svn-id: .*?@(\d+) \S+\Z/
last = IO.pread(logcmd)[idpat, 1]
log = IO.pread(logcmd)
last = log[idpat, 1]
if path
log = IO.pread(logcmd + [path])
changed = log[idpat, 1]
@ -222,10 +224,15 @@ class VCS
branch(IO.pread(cmd)[/.*^(ruby_\d+_\d+)$/m, 1])
end
def branch_list(pat, &block)
def branch_list(pat)
cmd = %W"git for-each-ref --format=\%(refname:short) refs/heads/#{pat}"
cmd[1, 0] = ["-C", @srcdir] if @srcdir
IO.popen(cmd, &block)
IO.popen(cmd) {|f|
f.each {|line|
line.chomp!
yield line
}
}
end
def grep(pat, tag, *files, &block)