All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: "Philip Oakley" <philipoakley@iee.org>
To: "Duy Nguyen" <pclouds@gmail.com>, "Stefan Beller" <sbeller@google.com>
Cc: "Jacob Keller" <jacob.keller@gmail.com>,
	"Git List" <git@vger.kernel.org>
Subject: Re: storing cover letter of a patch series?
Date: Mon, 15 Aug 2016 13:37:33 +0100	[thread overview]
Message-ID: <DD86BC6E2E3245BA991E4D65CE66E4A8@PhilipOakley> (raw)
In-Reply-To: CACsJy8BdmR5USJvjJ6xbjj=bP787tdS72_oL+PDq0D+FPYmiPA@mail.gmail.com

From: "Duy Nguyen" <pclouds@gmail.com>
> On Mon, Aug 15, 2016 at 1:28 PM, Stefan Beller <sbeller@google.com> wrote:
>> On Sun, Aug 14, 2016 at 12:15 AM, Jacob Keller <jacob.keller@gmail.com>
>> wrote:
>>> On Sat, Aug 13, 2016 at 1:49 AM, Duy Nguyen <pclouds@gmail.com> wrote:
>>>> On Tue, Aug 9, 2016 at 12:27 AM, Stefan Beller <sbeller@google.com>
>>>> wrote:
>>>>> is what you want. Maybe we want to see a patch that adds the reverse
>>>>> functionality as well, i.e. git-am will store the the cover letter as
>>>>> the
>>>>> branch description and git-merge will propose the branch description
>>>>> for
>>>>> the merge commit.
>>>>
>>>> I almost suggested the same, but there is a problem with this
>>>> approach: if you're are on a detached head, where does git-am save it?
>>
>> What would the user expect? We can have a range of expectations:
>> 1) reject and error out git-am
>> 2) warn about not saving branch.description and continue with am
>> 3) have a (maybe special) branch.HEAD.description thing, same for
>> FETCH_HEAD etc
>> 4) have a config option to choose between 1 and 2, if unset default to 1
>>
>> I think 3 is a bad choice.
>> 4 seems reasonable to me, though I wonder if some people use git-am in
>> a scripted workflow with a detached head and then create the branch
>> afterwards?
>> So
>>
>> 5) create a branch for them? (such as $(date)-${subject})
>>
>> My gut reaction doesn't like 5 either.
>
> I'm starting to think option 6 (storing cover latter as an empty
> commit at tip then git-merge replaces it with a merge commit in a
> permanent history) may be the way to go. It handles detached heads
> just fine, we have reflog to store older cover letters. Though it will
> not play nice with 'git commit --amend' and 'git reset' for people who
> rewrites history heavily during development, but maybe 'git rebase -i
> --autosquash' would be an ok workflow alternative.
> -- 

[sorry if this is not the right place to 'drop in'..]
I appreciate there has been a lot of discussion, but it mainly appears to be
about an upstream / integration viewpoint.

I'd hate it if there was a one size fits all solution that was only focused
on one important use case, rather than having at least a simple fallback for
simple folk.

Personally I liked the idea that I could start my patch series branch with a
simple 'empty' commit with a commit message that read "cover! <subject of
the series>" and continue with the cover letter. It's essentially the same
as the fixup! and squash! idea (more the latter - it's squash! without a
predecessor). For moderate size series a simple 'git rebase master..' is
sufficient to see the whole series and decide which need editing, rewording,
swapping, checking the fixups, etc.

Format-patch would then be taught to spot that the first commit in the
series is "cover! <subject>" and create the usual 0/N cover letter. Git Gui
may need to be taught to recognise cover! (haven't checked if it recognises
an empty commit squash!). Possibly 'git commit' may want a --cover option to
massage the commit message and add --allow-empty, but that's finesse.

I've no problem with more extensive methods for those preparing very big
patch series, or with those needing to merge together a lot of series and
want to keep the cover letters, but ensuring that a simple flow is possible
should still be there.
--
Philip


  reply	other threads:[~2016-08-15 12:38 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-10 16:28 storing cover letter of a patch series? Jacob Keller
2015-09-10 17:41 ` Junio C Hamano
2015-09-10 18:02   ` Martin Fick
2015-09-10 18:38     ` Jacob Keller
2015-09-10 18:39     ` Junio C Hamano
2015-09-11 22:24       ` Junio C Hamano
2016-08-04 23:49       ` Michael S. Tsirkin
2016-08-05 15:39         ` Junio C Hamano
2016-08-05 21:20           ` Martin Fick
2016-08-05 21:23             ` Junio C Hamano
2016-08-06 16:51               ` Junio C Hamano
2016-08-07  5:12           ` Michael S. Tsirkin
2016-08-07  9:52             ` John Keeping
2016-08-07 10:42             ` Duy Nguyen
2016-08-08 17:42               ` Junio C Hamano
2016-08-09  7:12                 ` Michael J Gruber
2015-09-10 18:32   ` Jacob Keller
2015-09-10 18:44     ` Junio C Hamano
2015-09-10 18:46       ` Jacob Keller
2015-09-10 20:09         ` Philip Oakley
2015-09-10 21:03           ` Jacob Keller
2016-08-04 23:43             ` Michael S. Tsirkin
2015-09-10 18:58 ` Johannes Schindelin
2015-09-10 21:00   ` Jacob Keller
2015-09-10 21:21     ` Johannes Schindelin
2015-09-10 22:20       ` Philip Oakley
2015-09-12 22:51   ` [PATCH] doc: show usage of branch description Philip Oakley
2015-09-12 23:44     ` Jacob Keller
2015-09-14 12:01       ` Philip Oakley
2015-09-14 13:24         ` Philip Oakley
2015-09-14 17:00         ` Junio C Hamano
2015-09-15 16:06           ` Philip Oakley
2015-09-15 19:10           ` Philip Oakley
2015-09-14 14:10     ` [PATCH v2] " Philip Oakley
2015-09-11  8:30 ` storing cover letter of a patch series? Chris Packham
2015-09-18  4:03   ` Simon Glass
2016-08-08 17:27 ` Stefan Beller
2016-08-08 20:09   ` Junio C Hamano
2016-08-13  8:49   ` Duy Nguyen
2016-08-14  7:15     ` Jacob Keller
2016-08-15  6:28       ` Stefan Beller
2016-08-15  6:38         ` Jacob Keller
2016-08-15  6:49           ` Stefan Beller
2016-08-15  6:52             ` Jacob Keller
2016-08-15  9:40         ` Duy Nguyen
2016-08-15 12:37           ` Philip Oakley [this message]
2016-08-15 13:30             ` Duy Nguyen
2016-08-15 13:47               ` John Keeping
2016-08-15 20:09             ` Jacob Keller
2016-08-15 20:38               ` Junio C Hamano
2016-08-15 23:01                 ` Jacob Keller
2016-08-15 20:46               ` Philip Oakley
2016-08-16  3:45                 ` Duy Nguyen
2016-08-16  5:26                   ` Jacob Keller
2016-08-16  6:45                     ` Duy Nguyen
2016-08-16 15:52                       ` Jacob Keller
2016-08-16 21:29                       ` Philip Oakley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DD86BC6E2E3245BA991E4D65CE66E4A8@PhilipOakley \
    --to=philipoakley@iee.org \
    --cc=git@vger.kernel.org \
    --cc=jacob.keller@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.