зеркало из https://github.com/github/ruby.git
* tool/vcs.rb (export_changelog): generate ChangeLog file from
vcs's log. [Feature #12283] * tool/make-snapshot (package): overwrite ChangeLog by generated ChangeLog. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
cf96cfe729
Коммит
f7f00b89e6
|
@ -1,3 +1,11 @@
|
||||||
|
Sun Nov 6 21:54:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* tool/vcs.rb (export_changelog): generate ChangeLog file from
|
||||||
|
vcs's log. [Feature #12283]
|
||||||
|
|
||||||
|
* tool/make-snapshot (package): overwrite ChangeLog by generated
|
||||||
|
ChangeLog.
|
||||||
|
|
||||||
Sun Nov 6 21:36:33 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
Sun Nov 6 21:36:33 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
||||||
|
|
||||||
* NEWS: Added entry for RDoc 5.
|
* NEWS: Added entry for RDoc 5.
|
||||||
|
|
|
@ -205,6 +205,7 @@ def package(vcs, rev, destdir, tmp = nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
srcdir = File.realpath($srcdir)
|
||||||
Dir.chdir(tmp) if tmp
|
Dir.chdir(tmp) if tmp
|
||||||
|
|
||||||
if !File.directory?(v)
|
if !File.directory?(v)
|
||||||
|
@ -212,6 +213,17 @@ def package(vcs, rev, destdir, tmp = nil)
|
||||||
v.size == 1 or abort "not exported"
|
v.size == 1 or abort "not exported"
|
||||||
v = v[0]
|
v = v[0]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# get last revision from previous ChangeLog archive
|
||||||
|
last_ChangeLog = Dir["#{v}/doc/ChangeLog-*"].grep(/-\d+\z/).last
|
||||||
|
open(last_ChangeLog) do |f|
|
||||||
|
f.readline
|
||||||
|
unless /\Ar(\d+) / =~ f.readline
|
||||||
|
abort "Cannot find revision from '#{last_ChangeLog}'"
|
||||||
|
end
|
||||||
|
vcs.export_changelog(srcdir, url, $1.to_i+1, revision.to_i, "#{v}/ChangeLog")
|
||||||
|
end
|
||||||
|
|
||||||
open("#{v}/revision.h", "wb") {|f| f.puts "#define RUBY_REVISION #{revision}"}
|
open("#{v}/revision.h", "wb") {|f| f.puts "#define RUBY_REVISION #{revision}"}
|
||||||
version ||= (versionhdr = IO.read("#{v}/version.h"))[RUBY_VERSION_PATTERN, 1]
|
version ||= (versionhdr = IO.read("#{v}/version.h"))[RUBY_VERSION_PATTERN, 1]
|
||||||
version or return
|
version or return
|
||||||
|
|
20
tool/vcs.rb
20
tool/vcs.rb
|
@ -280,6 +280,16 @@ class VCS
|
||||||
def after_export(dir)
|
def after_export(dir)
|
||||||
FileUtils.rm_rf(dir+"/.svn")
|
FileUtils.rm_rf(dir+"/.svn")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def export_changelog(srcdir, url, from, to, path)
|
||||||
|
IO.popen({'TZ' => 'JST-9'}, "svn log -r#{to}:#{from} #{url}") do |r|
|
||||||
|
open(path, 'w') do |w|
|
||||||
|
IO.copy_stream(r, w)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
sleep 10
|
||||||
|
exit
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class GIT < self
|
class GIT < self
|
||||||
|
@ -355,5 +365,15 @@ class VCS
|
||||||
def after_export(dir)
|
def after_export(dir)
|
||||||
FileUtils.rm_rf("#{dir}/.git")
|
FileUtils.rm_rf("#{dir}/.git")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def export_changelog(srcdir, url, from, to, path)
|
||||||
|
from = `git -C #{srcdir} log -n1 --format=format:%H --grep='^ *git-svn-id: .*@#{from} '`
|
||||||
|
to = `git -C #{srcdir} log -n1 --format=format:%H --grep='^ *git-svn-id: .*@#{to} '`
|
||||||
|
IO.popen({'TZ' => 'JST-9'}, "git -C #{srcdir} log --date=iso-local --topo-order #{from}..#{to}") do |r|
|
||||||
|
open(path, 'w') do |w|
|
||||||
|
IO.copy_stream(r, w)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Загрузка…
Ссылка в новой задаче