There are more strange things happening with dates. One example is that `git commit --date=@4102444799` produces a commit with the correct author date "Thu Dec 31 15:59:59 2099 -0800" (for my local timezone which is Americas/Los_Angeles), while `git commit --date=@4102444800` produces a commit with "now" as author date, as does any other larger number. `date --date=@4102444800` results in "Thu Dec 31 16:00:00 PST 2099". So seems 2100-01-01T00:00:00Z is a hard limit for git when using this format. On Mon, Jun 20, 2016 at 3:21 PM, Jeff King <peff@xxxxxxxx> wrote: > On Mon, Jun 20, 2016 at 03:11:23PM -0700, Junio C Hamano wrote: > >> Jeff King <peff@xxxxxxxx> writes: >> >> > I still don't know how that screwed-up timestamp got _into_ >> > a commit, so perhaps there is another bug lurking. I couldn't convince >> > git to parse anything beyond 2100, and committing with >> > GIT_AUTHOR_DATE='@5758122296 +0000' works just fine. >> >> Interesting. The weirdest I could come up with was with >> >> GIT_AUTHOR_DATE='@5758122296 -9999 >> >> which gets turned into the same timestamp but with -10039 timezone >> (simply because 99 minutes is an hour and 39 minutes). > > Yeah, as weird as that is, I think it's reasonable. We _could_ turn > nonsense timezones into "+0000". That doesn't necessarily help the user > much, but at least it's less bizarre than making a 46-year timezone > offset. > > I also looked for other uses of tm_to_time_t without checking for an > error return. Most of them do check. The exception is datestamp(), but > is calling it on the output of localtime(time()), which should generally > be sensible. > > -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html