From 730c94172800dd3e4d6dbea42845b3c5500a8171 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 23 Dec 2014 17:12:25 +0000 Subject: 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 --- tool/vcs.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tool/vcs.rb') diff --git a/tool/vcs.rb b/tool/vcs.rb index 71eb689f0e..66d276450e 100644 --- a/tool/vcs.rb +++ b/tool/vcs.rb @@ -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) -- cgit v1.2.3