git rev-parse --since=1970-01-01 does not work reliably
- From
Dmitry V. Levin <ldv@altlinux.org>
- Date
- Oct 31, 2011, 16:17 UTC
- Message-ID
- <20111031161708.GA29924@altlinux.org>
Hi,
git rev-parse --since=1970-01-01 (and other git commands that take date string arguments like --since) may fail when --since=1970-01-01 is given. Whether it fails or not depends on current time and timezone data. For example, "TZ=Europe/Paris git rev-parse --since=1970-01-01" fails two hours a day (between 00:00 and 02:00 CET), and those who use more eastern timezones are even less lucky. In artificial timezones like UTC-24 it always fails:
$ TZ=UTC-24 git rev-parse --since=1970-01-01 --max-age=18446744073709523490
The problem is that several internal git functions implicitly convert time_t to unsigned long, so when time_t gets negative, all date string processing breaks.
-- ldv