On Wed, Apr 30, 2014 at 02:34:59PM -0700, Junio C Hamano wrote: > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > > > I just got a comment saying that > > > > git commit --amend --date=now > > > > doesn't work. I replied that you can use > > > > --date="$(date)" > > Offhand without double-checking the actual codepath I do not have > objection against approxidate-careful. This has come up a few times on the list, but nobody ever produced a patch. To quote myself[1]: > I think the original rationale was that it's OK for us to allow some > sloppiness when _viewing_ commits, since you will generally notice the > problem. But when making commits, it's better to be careful, since you > may be setting the sha1 in stone. > > These days we have two tools that could help: > > 1. approxidate_careful will do a regular approxidate, but keep track > of whether we found anything even remotely useful. That doesn't mean > you can't still get unexpected results, but at least some truly > useless cases return errors. > > 2. For commits with a different author and committer, we mention the > author name in the post-commit summary. We could do the same with a > timestamp that was given (i.e., mentioning it in a standard format) > to give the user another opportunity to double-check what we parsed. I think it would make sense if we followed both of those points. Should we also loosen $GIT_AUTHOR_DATE? I'd prefer not to, as that is not typically fed by the users themselves, but rather by scripts, and being robust there may be more valuable. > But why does the workflow need --date=now in the first place? > Wouldn't --reset-author do what you want better? What is the > situation where you want to say that this patch has been changed > significantly enough from the original to label it with the current > timestamp without taking the authorship? In some of the instances on the list, the user simply didn't know that --reset-author would do the trick. And I do think it's slightly unintuitive. However, the original rationale for "--date" was to back-date commits[2], so even though there is an equivalent for "--date=now", it might be nice to support "--date=2.days.ago". -Peff [1] http://article.gmane.org/gmane.comp.version-control.git/168596 [2] http://article.gmane.org/gmane.comp.version-control.git/134406 -- 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