1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

vcs.rb: exclude beginning revision

* tool/make-snapshot: pass the last revision in the last ChangeLog
  file without increment.

* tool/vcs.rb (export_changelog): exclude the beginning revision
  of the range uniformly. svn log includes it, but git log not.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-11-07 03:25:28 +00:00
parent 4201000a7c
commit 2fa7cd751e
2 changed files with 12 additions and 9 deletions

View file

@ -220,7 +220,7 @@ def package(vcs, rev, destdir, tmp = nil)
unless /\Ar(\d+) / =~ f.readline
abort "Cannot find revision from '#{last_ChangeLog}'"
end
vcs.export_changelog($1.to_i+1, revision.to_i, "#{v}/ChangeLog")
vcs.export_changelog($1.to_i, revision.to_i, "#{v}/ChangeLog")
end
open("#{v}/revision.h", "wb") {|f| f.puts "#define RUBY_REVISION #{revision}"}

View file

@ -306,8 +306,9 @@ class VCS
end
def export_changelog(from, to, path)
range = [to, (from+1 if from)].compact.join(':')
IO.popen({'TZ' => 'JST-9', 'LANG' => 'C', 'LC_ALL' => 'C'},
%W"svn log -r#{to}:#{from} #{url}") do |r|
%W"svn log -r#{range} #{url}") do |r|
open(path, 'w') do |w|
IO.copy_stream(r, w)
end
@ -390,14 +391,16 @@ class VCS
end
def export_changelog(from, to, path)
from = IO.pread(%W"git log -n1 --format=format:%H" +
["--grep=^ *git-svn-id: .*@#{from} "],
:chdir => @abs_srcdir)
to &&= IO.pread(%W"git log -n1 --format=format:%H" +
["--grep=^ *git-svn-id: .*@#{to} "],
:chdir => @abs_srcdir)
range = [from, to].map do |rev|
rev or next
rev = IO.pread({'LANG' => 'C', 'LC_ALL' => 'C'},
%W"git log -n1 --format=format:%H" <<
"--grep=^ *git-svn-id: .*@#{rev} ",
:chdir => @abs_srcdir)
rev unless rev.empty?
end.join('..')
IO.popen({'TZ' => 'JST-9', 'LANG' => 'C', 'LC_ALL' => 'C'},
%W"git log --date=iso-local --topo-order #{from}..#{to}",
%W"git svn log --date=iso-local --topo-order #{range}",
:chdir => @abs_srcdir) do |r|
open(path, 'w') do |w|
IO.copy_stream(r, w)