summaryrefslogtreecommitdiff
path: root/tool/vcs.rb
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/vcs.rb
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/vcs.rb')
-rw-r--r--tool/vcs.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/tool/vcs.rb b/tool/vcs.rb
index 93d642efec..173c306e3c 100644
--- a/tool/vcs.rb
+++ b/tool/vcs.rb
@@ -280,6 +280,16 @@ class VCS
def after_export(dir)
FileUtils.rm_rf(dir+"/.svn")
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
class GIT < self
@@ -355,5 +365,15 @@ class VCS
def after_export(dir)
FileUtils.rm_rf("#{dir}/.git")
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