From f20f84d60a467c1bc8a0ca81fe2788fa4c8079f8 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 25 Nov 2014 06:26:26 +0000 Subject: [PATCH] vcs.rb: make Time with proper offset * tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime which does not accept UTC offset, and offset manually for older versions than 1.9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ tool/vcs.rb | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e8c89dafac..e37fe56fdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Nov 25 15:26:33 2014 Nobuyoshi Nakada + + * tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime + which does not accept UTC offset, and offset manually for older + versions than 1.9. + Tue Nov 25 12:14:43 2014 Nobuyoshi Nakada * process.c (Init_process): initialize static IDs before constant diff --git a/tool/vcs.rb b/tool/vcs.rb index b3f3a31642..49c70648fd 100644 --- a/tool/vcs.rb +++ b/tool/vcs.rb @@ -62,7 +62,11 @@ class VCS if modified /\A(\d+)-(\d+)-(\d+)\D(\d+):(\d+):(\d+(?:\.\d+)?)\s*(?:Z|([-+]\d\d)(\d\d))\z/ =~ modified or raise "unknown time format - #{modified}" - modified = Time.mktime(*($~[1..6] + [$7 ? "#{$7}:#{$8}" : "+00:00"])) + begin + modified = Time.new(*$~[1..6].map(&:to_i), ($7 ? "#{$7}:#{$8}" : "+00:00")) + rescue ArgumentError + modified = Time.utc(*$~[1..6]) + $7.to_i * 3600 + $8.to_i * 60 + end end return last, changed, modified, *rest end