Re: [PATCH] commit: add --committer option
- From
Jeff King <peff@peff.net>
- Date
- Nov 11, 2025, 19:15 UTC
- Message-ID
- <20251111191508.GA1907007@coredump.intra.peff.net>
- In-Reply-To
- <CAOLTT8RweGOmxNK=vKDv8w-8AJM7QUfLBw4WOKeY1EpSVeB6iQ@mail.gmail.com>
On Tue, Nov 11, 2025 at 09:42:38PM +0800, ZheNing Hu wrote:
Show 16 quoted lines
> > Is a "--committer" option the best solution there, though? I'd think > > you'd want to set user.* in the repo-level .git/config (or using a > > dir-specific include) would be less error-prone. > > > > That doesn't help for using two identities for the same repo, but in my > > experience it is easier to use two separate repositories for that to > > match the organization of the work (even if you may sometimes fetch > > between them). > > > > I'm not totally opposed to the new flag, and in general I'd defer to > > people who say they find a new feature useful. I'm just having a hard > > time imagining a scenario where it's the best option. > > Sometimes it's because I forgot to configure the repository-level git user > config and started development first. Only when I tried to correct the > committer did I feel the pain.
OK, this workflow does make sense to me. Fixing up an earlier mistake is inherently a one-off thing, and a command-line option is more ergonomic than using the environment variables.
Two small thoughts:
- I suspect what you'd usually want there is for the committer and the
author to match. We have --committer-date-is-author-date for rebase,
and conceptually I think something like --committer-is-author would
do what you want here. But obviously it's less flexible, and I don't
know if it's that much easier to use. - Because it's easy to make such mistakes, when you override the
author (so that it doesn't match the committer), git-commit prints
an extra "Author:" line in the output to make that more obvious.
Should we do the same with committer when you've overridden it? We
already do print "Committer:" when the ident was guessed from system
info, but I wonder if it would make sense to print when it was
forced. I dunno. I guess the time you most need the hint is when you
meant to use --committer and --author together, but only used
--author. But I don't know how Git would infer that case (versus the
normal case of you applying someone else's work and crediting them
with --author).I'm not sure if either is a useful direction, but they seemed sufficiently not-dumb for me to at least type them out. ;)
-Peff