On Wed, Apr 30, 2014 at 02:34:59PM -0700, Junio C Hamano wrote:
Linus Torvalds torva...@linux-foundation.org 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 majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html