aboutsummaryrefslogtreecommitdiffstats
path: root/tool
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-07 02:54:27 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-07 02:54:27 +0000
commitcad6dbbc66cc71627a4c5da8a8bfad51de6076d5 (patch)
treea596ff6fbe40e8d33ba6b082e0e1af904d048b1b /tool
parent5aaab22c8a7f8ee8a558877a1826e05acb836df6 (diff)
downloadruby-cad6dbbc66cc71627a4c5da8a8bfad51de6076d5.tar.gz
vcs.rb: use chdir option
* tool/vcs.rb (export_changelog): for old git, use chdir option instead of git -C option, and set language environmets to C. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rw-r--r--tool/vcs.rb25
1 files changed, 21 insertions, 4 deletions
diff --git a/tool/vcs.rb b/tool/vcs.rb
index 97ff155914..140dcb72ec 100644
--- a/tool/vcs.rb
+++ b/tool/vcs.rb
@@ -77,6 +77,16 @@ if RUBY_VERSION < "2.0"
end
end
end
+else
+ module DebugPOpen
+ refine IO.singleton_class do
+ def popen(*args)
+ STDERR.puts args.inspect if $DEBUG
+ super
+ end
+ end
+ end
+ using DebugPOpen
end
class VCS
@@ -295,7 +305,8 @@ class VCS
end
def export_changelog(srcdir, url, from, to, path)
- IO.popen({'TZ' => 'JST-9'}, "svn log -r#{to}:#{from} #{url}") do |r|
+ IO.popen({'TZ' => 'JST-9', 'LANG' => 'C', 'LC_ALL' => 'C'},
+ %W"svn log -r#{to}:#{from} #{url}") do |r|
open(path, 'w') do |w|
IO.copy_stream(r, w)
end
@@ -378,9 +389,15 @@ class VCS
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|
+ from = IO.pread(%W"git log -n1 --format=format:%H" +
+ ["--grep=^ *git-svn-id: .*@#{from} "],
+ :chdir => srcdir)
+ to &&= IO.pread(%W"git log -n1 --format=format:%H" +
+ ["--grep=^ *git-svn-id: .*@#{to} "],
+ :chdir => srcdir)
+ IO.popen({'TZ' => 'JST-9', 'LANG' => 'C', 'LC_ALL' => 'C'},
+ %W"git log --date=iso-local --topo-order #{from}..#{to}",
+ :chdir => srcdir) do |r|
open(path, 'w') do |w|
IO.copy_stream(r, w)
end