Re: Keep original author with git merge --squash?
- From
David Glasser <glasser@davidglasser.net>
- Date
- Feb 13, 2015, 00:17 UTC
- Message-ID
- <CAN7QDoK8ePJW-pM=m0+WpEsiYb_aUdt_YUm3gyBhctY_nWBshA@mail.gmail.com>
- In-Reply-To
- <xmqq4mqqrc70.fsf@gitster.dls.corp.google.com>
On Thu, Feb 12, 2015 at 2:34 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 36 quoted lines
> David Glasser <glasser@davidglasser.net> 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?
That does sound pretty good. And for the specific case of squash, what I would do would be (a) take one of the existing "Author: " lines and turn it into an "# Author:" line and (b) do the ordinary editing that I do to combine the existing messages?
(Maybe my proposed "detect that they're all the same" code would run at `merge --squash` time, producing a trailing "# Author:" line if all of the produced "Author: " lines were identical?)
--dave
-- glasser@davidglasser.net | langtonlabs.org | flickr.com/photos/glasser/