git-commit-vandalism/templates
Andy Parkins a69aba6af3 UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone
I got bitten because in the UK (where one would expect 1970-01-01 00:00
to be UTC 0) some politicians decided to mess around with daylight
savings time from 1968 to 1971; it was permanently BST (+0100).  That
means that on my computer the following is true:

	$ date --date="1970-01-01 00:00" +"%F %T %z (%Z)"
	1970-01-01 00:00:00 +0100 (BST)

This of course means that the --date argument to date is specified in
local time, not UTC.  So when the hooks--update script does this:

	date=$(date --date="1970-01-01 00:00:00 $ts seconds")

It's actually saying (in my timezone) "1970-01-01 01:00:00 UTC" + $ts.
Clearly this is wrong.  The UNIX epoch started at midnight UTC not 1am
UTC.

This leads to the tagged time in hooks--update being shown as one hour
earlier than the true tagged time (in my timezone).  The problem would
be worse for other timezones.  For a +1300 timezone on 1970-01-01, the
tagged time would be 13 hours earlier.  Oops.

The solution is to force the reference time to UTC, which is what this
patch does.  In my timezone:

	$ date --date="1970-01-01 00:00 +0000" +"%F %T %z (%Z)"
	1970-01-01 01:00:00 +0100 (BST)

Much better.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
2007-01-28 14:35:50 -08:00
..
.gitignore Add new programs and stamp file to .gitignore. 2005-10-14 17:13:49 -07:00
branches-- Redo the templates generation and installation. 2005-08-06 13:49:26 -07:00
hooks--applypatch-msg sample hooks template. 2006-02-26 15:16:41 -08:00
hooks--commit-msg hooks/commit-msg: add example to add Signed-off-by line to message 2006-12-26 12:25:34 -08:00
hooks--post-commit Add commit hook and make the verification customizable. 2005-08-19 16:23:31 -07:00
hooks--post-update Install sample hooks 2005-08-03 16:27:38 -07:00
hooks--pre-applypatch sample hooks template. 2006-02-26 15:16:41 -08:00
hooks--pre-commit pre-commit hook: complain about conflict markers. 2006-04-19 15:37:40 -07:00
hooks--pre-rebase rebase: allow a hook to refuse rebasing. 2006-02-13 00:17:33 -08:00
hooks--update UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone 2007-01-28 14:35:50 -08:00
info--exclude Redo the templates generation and installation. 2005-08-06 13:49:26 -07:00
Makefile Fix installation of templates on ancient systems. 2006-08-02 00:27:18 -07:00
this--description Redo the templates generation and installation. 2005-08-06 13:49:26 -07:00