On Sun, Dec 02, 2007 at 10:53:33AM -0800, Junio C Hamano wrote: > Yeah, I was wondering what that commit that records the change older > than git or myself come to life ;-) > > I did rewrite the commit a few times, and it was some interaction > between the built-in commit series, git-rebase -i and git-am, but I do > not have the details, sorry. It looks like the "guilty" commit that allowed this behavior was: commit 13208572fbe8838fd8835548d7502202d1f7b21d Author: Johannes Schindelin <Johannes.Schindelin@xxxxxx> Date: Sun Nov 11 17:35:58 2007 +0000 builtin-commit: fix --signoff The Signed-off-by: line contained a spurious timestamp. The reason was a call to git_committer_info(1), which automatically added the timestamp. Instead, fmt_ident() was taught to interpret an empty string for the date (as opposed to NULL, which still triggers the default behavior) as "do not bother with the timestamp", and builtin-commit.c uses it. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> With the above, something like: echo msg | GIT_AUTHOR_DATE='' git commit-tree sha1 will produce a broken commit without a timestamp, since fmt_ident is also used for the committer and author lines. Personally, I think if the date_str is not NULL, it should die() on anything that can't successfully be parsed as a date, rather than simply falling back to the current time. But maybe that's a bit extreme. -bcd - 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