Code

gitweb: Fix handling of fractional timezones in parse_date
authorJakub Narebski <jnareb@gmail.com>
Fri, 25 Mar 2011 19:20:49 +0000 (20:20 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 25 Mar 2011 20:27:05 +0000 (13:27 -0700)
commit2b1e17237b0b14855ad8337ec001d6d1fd7cca61
tree264a2a8f742bb7aa732e725ce2624146f6272f39
parentb5f306fbe1bf1a75341f85b84358d25870b010f3
gitweb: Fix handling of fractional timezones in parse_date

Fractional timezones, like -0330 (NST used in Canada) or +0430
(Afghanistan, Iran DST), were not handled properly in parse_date; this
means values such as 'minute_local' and 'iso-tz' were not generated
correctly.

This was caused by two mistakes:

* sign of timezone was applied only to hour part of offset, and not
  as it should be also to minutes part (this affected only negative
  fractional timezones).

* 'int $h + $m/60' is 'int($h + $m/60)' and not 'int($h) + $m/60',
  so fractional part was discarded altogether ($h is hours, $m is
  minutes, which is always less than 60).

Note that positive fractional timezones +0430, +0530 and +1030 can be
found as authortime in git.git repository itself.

For example http://repo.or.cz/w/git.git/commit/88d50e7 had authortime
of "Fri, 8 Jan 2010 18:48:07 +0000 (23:48 +0530)", which is not marked
with 'atnight', when "git show 88d50e7" gives correct author date of
"Sat Jan 9 00:18:07 2010 +0530".

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl