Re: Handling commit change logs

From: Andreas FÃrber
Date: Thu Aug 21 2014 - 06:43:41 EST


Am 20.08.2014 22:30, schrieb Stephen Warren:
> On 08/20/2014 02:02 PM, Andreas FÃrber wrote:
>> Am 20.08.2014 17:39, schrieb Javier Martinez Canillas:
>>> As you already know when you apply a patch with git am, everything
>>> that is between a line with 3 dashes line (---) and the actual diff is
>>> omitted since that is where the generated diffstat is placed by git
>>> format-patch.
>>>
>>> We usually rely on that behavior to put there the history of a patch
>>> or any information that we think that is useful for reviewers but is
>>> not suitable to end in the commit message. Now that means that you
>>> have to generate the patch and then manually edit it to add the
>>> history there.
>>>
>>> But since git am omits any text between the first "---" and the diff,
>>> it means that you can add a "---" on your actual commit message and
>>> anything that follows will be discarded by git am, that way you can
>>> maintain your history on your commit message which is way less tedious
>>> than manually editing patches.
>>>
>>> So the second "---" from Tuomas patch is actually the one generated by
>>> git format-patch but that gets discarded by git am just like any other
>>> text so it causes no harm when other apply the patches.
>>>
>>> If this not the correct workflow and you have a better way to manage
>>> this, I would love to know about it.
>>
>> One drawback of having --- in the commit message is that you can't
>> cherry-pick but really need to use git-am for it to be stripped.
>
> You can, you just have to either:
>
> * Pass -e to git cherry-pick so you get to edit the patch description,
>
> * Run "git commit --amend" right afterwards,
>
> ... and then delete everything starting at ---.
>
> I do this reasonably often on my own patches; I send them to the list,
> get them reviewed, and then cherry-pick them into the Tegra maintainer
> tree rather than saving them from the email client and running git am.

Sure. My point was more that the person doing the cherry-pick needs to
be aware of and correct such misuse, and in QEMU I did see people
cherry-picking from each other and committing with Signed-off-by *below*
the change log. ;)

Also, keeping commits and change log separate allows me to work on them
concurrently. As with editors, everyone will have their own preferences.

Cheers,
Andreas

--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 NÃrnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix ImendÃrffer; HRB 16746 AG NÃrnberg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/