Hi all,
I found this issue through a test suite for a Python git interface,
which during the tests at some point sets
GIT_COMMITTER_DATE=1970-01-01T00:00:00
To reproduce the issue:
$ git init
$ echo foo > testfile
$ git add testfile
$ git commit -m "test"
$ echo bar >> testfile
$ export GIT_COMMITTER_DATE=1970-01-01T00:00:00
$ git stash save
$ git stash apply
refs/stash@{0} is not a valid reference
At this point one can see:
$ git rev-parse --symbolic --verify 'refs/stash@{0}'
fatal: Log for refs/stash is empty.
Expected:
$ git rev-parse --symbolic --verify 'refs/stash@{0}'
refs/stash@{0}
I tracked the issue to refs/files-backend.c in show_one_reflog_ent :
https://github.com/git/git/blob/11529ecec914d2f0d7575e6d443c2d5a6ff75424/refs/files-backend.c#L2923
in which
!(timestamp = strtoul(email_end + 2, &message, 10)) ||
implies an invalid reflog entry. Why should 0 be treated as an
invalid timestamp (even if it's unlikely outside of corner cases)?
Thanks,
Erik
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html