diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-07 02:54:27 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-07 02:54:27 +0000 |
commit | 8b97d66913a12463b98c306f80dc5b48e3981187 (patch) | |
tree | a596ff6fbe40e8d33ba6b082e0e1af904d048b1b | |
parent | 2a8ba4bd64ff93c7f04ffc23dcee116ebba32752 (diff) |
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
-rw-r--r-- | tool/vcs.rb | 25 |
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 |