@@ -118,11 +118,11 @@ def group_entries entries
118118
119119 def parse_date ( date )
120120 case date
121- when /\A \s *(\d +)-(\d +)-(\d +)(?: (\d +):(\d +):(\d +) *([-+]\d \d )(\d \d ))?\b /
121+ when /\A \s *(\d +)-(\d +)-(\d +)(?:[ T] (\d +):(\d +):(\d +) *([-+]\d \d ):? (\d \d ))?\b /
122122 Time . new ( $1, $2, $3, $4, $5, $6, ( "#{ $7} :#{ $8} " if $7) )
123- when /\A \s *\w {3}, +(\d +) (\w {3}) (\d +) (\d +):(\d +):(\d +) *(?:([-+]\d \d )(\d \d ))\b /
123+ when /\A \s *\w {3}, +(\d +) (\w {3}) (\d +) (\d +):(\d +):(\d +) *(?:([-+]\d \d ):? (\d \d ))\b /
124124 Time . new ( $3, $2, $1, $4, $5, $6, ( "#{ $7} :#{ $8} " if $7) )
125- when /\A \s *\w {3} (\w {3}) +(\d +) (\d +) (\d +):(\d +):(\d +) *(?:([-+]\d \d )(\d \d ))\b /
125+ when /\A \s *\w {3} (\w {3}) +(\d +) (\d +) (\d +):(\d +):(\d +) *(?:([-+]\d \d ):? (\d \d ))\b /
126126 Time . new ( $3, $1, $2, $4, $5, $6, ( "#{ $7} :#{ $8} " if $7) )
127127 when /\A \s *\w {3} (\w {3}) +(\d +) (\d +):(\d +):(\d +) (\d +)\b /
128128 Time . new ( $6, $1, $2, $3, $4, $5)
@@ -231,13 +231,13 @@ def parse_entries
231231 # date = header["CommitDate"] || header["Date"]
232232 date = header [ /^ *(?:Author)?Date: +(.*)/ , 1 ]
233233 author = header [ /^ *Author: +(.*)/ , 1 ]
234- if /(\d +)-(\d +)-(\d +) (\d +):(\d +):(\d +) *([-+]\d \d )(\d \d )/ =~
235- ( header [ /^ *CommitDate: +(.*)/ , 1 ] || date )
236- time = Time . new ( $1, $2, $3, $4, $5, $6, "#{ $7} :#{ $8} " )
234+ begin
235+ time = parse_date ( header [ /^ *CommitDate: +(.*)/ , 1 ] || date )
237236 @time_cache [ entry_name ] = time
238237 author . sub! ( /\s *<(.*)>/ , '' )
239238 email = $1
240239 entries << [ entry_name , [ author , email , date , entry_body ] ]
240+ rescue ArgumentError
241241 end
242242 end
243243
0 commit comments