Thread (2 messages) 2 messages, 2 authors, 2025-11-19

Re: [PATCH] doc: warn against --committer-date-is-author-date

From: Junio C Hamano <hidden>
Date: 2025-10-16 16:23:08

Johannes Sixt [off-list ref] writes:
Am 16.10.25 um 16:13 schrieb Kristoffer Haugsbakk:
quoted
On Sat, Oct 11, 2025, at 11:15, Johannes Sixt wrote:
quoted
Am 08.10.25 um 21:45 schrieb kristofferhaugsbakk@fastmail.com:
quoted
From: Kristoffer Haugsbakk <redacted>

This option has legitimate uses but could create a commit history which
violates the assumption that commits are strictly increasing in terms of
commit timestamps. Warn against that in both git-am(1) and git-rebase(1).
I think that the discussion has meanwhile converged insofar that we do
not think that the option has a legitimate use case. Rather, it was
introduced to solve one particular problem case (that is cited below),
but with a solution that was misguided and not well thought through.
Okay if this was the cited example:

https://lore.kernel.org/git/46d6db660901221441q60eb90bdge601a7a250c3a247@mail.gmail.com/ (local)

Then we can clarify with two questions:

1. Is the use case itself reasonable, i.e. abusing[1] git-am(1) to
   pseudo-import commits (modulo the committer)?
The cited example talks about a set of patches and expects them to
create the same object IDs each time they are imported. This expectation
only makes sense when the import happens on the same base commit. But
then, why in the world would one want to import the same patches
multiple times??
Only when the person is trying to make sure what they are about to
send out _will_ apply cleanly to the intended base, I would guess.
And that person would be using an unstable implementation of "git
am", perhaps who is futzing with it.  Otherwise there is no reason
for such an expectation.  Perhaps back when such a request was made,
fast-export/fast-import pair was not know to the requestor?
A mailbox full of patches is not a suitable storage form for commits.
This particular use-case for git-am just does not make sense.
I would think so, too.
quoted
Like this?

    Do not use this option. By default the command records the date from
    the e-mail ...

    WARNING: ...

In that case I think parentheses makes it read better:

    (Do not use this option.) By default the command records the date from
    the e-mail ...

    WARNING: ...
I do not like the latter. If you do not like the former, I wouldn't mind
not adding the sentence. The warning should be sufficient.
But stepping back a bit, if we truly want to discourage the use of
it, perhaps we should officially deprecate and schedule it for
removal?  If we are *not* brave enough to back such a move, then
perhaps we ourselves are not yet convinced that this should be
discouraged?

My preference is to stop at describing, in WARNING or NOTES, what
the use case that triggered the addition of this option was and
declaring that the use case does not make any sense (your "who would
apply the same series twice on the same base?  just keep the result
on a branch and reuse" would be fine), but without saying "Do not
use this option".  In other words, the message is "We'd give a long
rope that we do not think is very useful, but it is up to you to get
yourself tangled in it".

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help