Subject: Re: Keep original author with git merge --squash?

From: Junio C Hamano <[email-masked]>
Date: Thu, 12 Feb 2015 14:34:43 -0800

David Glasser <[email-masked]> writes:

> So to be concrete: What I'm proposing (and I'm excited to implement
> it!) is the following:
>
> When running "git commit" and:
> - You've fallen into the case where the message was read from SQUASH_MSG
> - You haven't used another method of specifying the author (--author,
>   -C, -c, --amend)
> - You have not specified --reset-author
> - You have set the "commit.useSquashAuthor" option
> - Before invoking prepare-commit-msg, all of the `Author:` lines found
>   in SQUASH_MSG have the same value
>
> then that author is used, as if it were specified with --author.  (And
> this will show up, commented-out, at the bottom of COMMIT_EDITMSG.)

I actually was hoping that this would extend to cases other than
"git merge --squash".

When running "git commit" and:

 - You didn't use a more explicit method of specifying the
   authorship identity (--author, --date, -C, -c --amend,
   --reset-author options, or environment variables GIT_AUTHOR_*);

 - You have commit.useAuthorFromEditorComment variable;

 - You have "# Author: " line that are identical in the result of
   the editor,

then use that author.  That would allow "git commit --amend" to
update a misspelled author name, for example.

Is that a bit too liberal?  Would it invite mistakes?