summaryrefslogtreecommitdiff
path: root/tool/make-snapshot
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-06 12:57:45 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-06 12:57:45 +0000
commitf7f00b89e61ed87b3a61870a59c948d9d98287ed (patch)
tree75c3447c7d0f0807447628742d69c25264b76556 /tool/make-snapshot
parentcf96cfe7292014f6f2a0633be759981ba539aad0 (diff)
* 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
Diffstat (limited to 'tool/make-snapshot')
-rwxr-xr-xtool/make-snapshot12
1 files changed, 12 insertions, 0 deletions
diff --git a/tool/make-snapshot b/tool/make-snapshot
index e96deb003c..788c2b9a0a 100755
--- a/tool/make-snapshot
+++ b/tool/make-snapshot
@@ -205,6 +205,7 @@ def package(vcs, rev, destdir, tmp = nil)
end
end
+ srcdir = File.realpath($srcdir)
Dir.chdir(tmp) if tmp
if !File.directory?(v)
@@ -212,6 +213,17 @@ def package(vcs, rev, destdir, tmp = nil)
v.size == 1 or abort "not exported"
v = v[0]
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}"}
version ||= (versionhdr = IO.read("#{v}/version.h"))[RUBY_VERSION_PATTERN, 1]
version or return