Odd broken "--date=now" behavior in current git
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Apr 15, 2015, 04:18 UTC
- Message-ID
- <CA+55aFxvcN8Dz-t6fi6etycg+AiyR0crXv5AcfCdv8ji-iNBpw@mail.gmail.com>
I just noticed this because I had amended some merge commits with
git commit --amend --date=now
to update them, and that gets some funny broken timezones. I suspect it's some silly daylight savings time issue.
Lookie here, I can reproduce it trivially with current git (in the git repo itself):
[torvalds@i7 git]$ date; git commit -m Test --allow-empty --date=now
Tue Apr 14 21:11:03 PDT 2015
[master ec7733db5360] Test
Date: Tue Apr 14 20:11:03 2015 -0800notice how the commit date message shows something funny. It shows an hour earlier, but in -0800.
And the resulting commit is broken:
[torvalds@i7 git]$ git show --pretty=fuller
commit ec7733db5360966434e03eab1a849e6d4227231c (HEAD -> master)
Author: Linus Torvalds <torvalds@linux-foundation.org>
AuthorDate: Tue Apr 14 20:11:03 2015 -0800
Commit: Linus Torvalds <torvalds@linux-foundation.org>
CommitDate: Tue Apr 14 21:11:03 2015 -0700Test
notice how the AuthorDate has that "-0800", but the CommitDate has "-0700".
Hmm.
I can't be the only one seeing this? My guess is that there's a missing initialization of tm.tm_isdst somewhere or whatever.
The above is with current git:
[torvalds@i7 git]$ git version
git version 2.4.0.rc2Anybody?
Linus