Skip to content

Commit d23594e

Browse files
authored
Merge pull request #790 from nobu/date-in-git-log
Date in git log
2 parents b84a224 + 2a6c22d commit d23594e

File tree

2 files changed

+39
-6
lines changed

2 files changed

+39
-6
lines changed

lib/rdoc/parser/changelog.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

test/rdoc/test_rdoc_parser_changelog.rb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,24 @@ def test_scan
331331

332332
def test_scan_git
333333
parser = util_parser <<-ChangeLog
334+
commit\ 38816887962ec167ee46acf500f68df5c3013163
335+
Author: git <[email protected]>
336+
Date: Sun Jan 24 14:35:51 2021 +0900
337+
338+
* 2021-01-24 [ci skip]
339+
340+
commit\ db7d0b89f6eca66cc7eb155c95f9123133da1ffc
341+
Author: git <[email protected]>
342+
Date: Sat, 23 Jan 2021 06:01:39 +0900
343+
344+
* 2021-01-23 [ci skip]
345+
346+
commit\ a3efbda7128ef20b55505b32d1608ea48f80af4a
347+
Author: git <[email protected]>
348+
Date: 2021-01-22T02:49:39+09:00
349+
350+
* 2021-01-22 [ci skip]
351+
334352
commit\ 709bed2afaee50e2ce803f87bf1ee8291bea41e3
335353
Author: git <[email protected]>
336354
Date: 2021-01-21 01:03:52 +0900
@@ -372,6 +390,21 @@ def test_scan_git
372390
expected = doc(
373391
head(1, File.basename(@tempfile.path)),
374392
blank_line,
393+
head(2, '2021-01-24'),
394+
blank_line,
395+
log_entry(nil, '38816887962ec167ee46',
396+
'git', '[email protected]', 'Sun Jan 24 14:35:51 2021 +0900',
397+
[list(:BULLET, item(nil, para('2021-01-24 [ci skip]')))]),
398+
head(2, '2021-01-23'),
399+
blank_line,
400+
log_entry(nil, 'db7d0b89f6eca66cc7eb',
401+
'git', '[email protected]', 'Sat, 23 Jan 2021 06:01:39 +0900',
402+
[list(:BULLET, item(nil, para('2021-01-23 [ci skip]')))]),
403+
head(2, '2021-01-22'),
404+
blank_line,
405+
log_entry(nil, 'a3efbda7128ef20b5550',
406+
'git', '[email protected]', '2021-01-22T02:49:39+09:00',
407+
[list(:BULLET, item(nil, para('2021-01-22 [ci skip]')))]),
375408
head(2, '2021-01-21'),
376409
blank_line,
377410
log_entry(nil, '709bed2afaee50e2ce80',

0 commit comments

Comments
 (0)