git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Phillip Wood <phillip.wood123@gmail.com>
Cc: git@vger.kernel.org, "Brian Lyles" <brianmlyles@gmail.com>,
	"Jean-Noël AVILA" <jn.avila@free.fr>
Subject: Re: [PATCH v2] SubmittingPatches: release-notes entry experiment
Date: Tue, 26 Mar 2024 09:28:59 -0700	[thread overview]
Message-ID: <xmqq1q7xc5ys.fsf@gitster.g> (raw)
In-Reply-To: <dda1ba52-7b43-4017-96e7-10080618d4e7@gmail.com> (Phillip Wood's message of "Tue, 26 Mar 2024 14:18:10 +0000")

Phillip Wood <phillip.wood123@gmail.com> writes:

>> +*This is EXPERIMENTAL*.  When sending a topic, you can propose one
>> +paragraph summary that appears in the "What's cooking" report when it
>> +is picked up to explain the topic.  If you choose to do so, please
>> +write 2-5 lines of a paragraph that will fit well in our release notes
>
> Maybe "please write a 2-5 line paragraph"?

Very true.

>> +(see Documentation/RelNotes/* directory for examples), and make it
>> +the first paragraph of the cover letter.  For a single-patch series,
>> +use the space between the three-dash line and the diffstat, as
>> +described earlier.
>
> I think this is a good idea - one question though, how do you want
> patch authors to indicate that the first paragraph should be used as
> the summary?

I want to start this as a light-weight process for contributors, and
leave the automation for later, because we do not know how this will
be useful in practice.  We may end up talking in inconsistent voices
if the author-supplied summary is used verbatim, so automation has
its limit---the result always need to be copy-edited.

In an case, taking an example from what eventually became 9187b276
(Merge branch 'pw/diff-no-index-from-named-pipes', 2023-07-17),
let's illustrate how the current process works and the proposed new
process would have worked.

The commit log message of the topic reads:

    Merge branch 'pw/diff-no-index-from-named-pipes'

    "git diff --no-index" learned to read from named pipes as if they
    were regular files, to allow "git diff <(process) <(substitution)"
    some shells support.

    * pw/diff-no-index-from-named-pipes:
      diff --no-index: support reading from named pipes
      t4054: test diff --no-index with stdin
      diff --no-index: die on error reading stdin
      diff --no-index: refuse to compare stdin to a directory

The three-line paragraph summary were written by me back then first
in the draft of "What's cooking" being prepared when the topic was
first merged to 'seen', and then the integration process [*1*]
copied the description to the merge commit message.  Such a merge
commit with the summary are made every time the integration cycle
runs, including the time the topic gets merged to 'next' and more
importantly to 'master', at which point, it also gets distributed
into sections of the draft version of RelNotes.

The topic is listed in the release notes for Git 2.42 as one of the
"UI, Workflows & Features":

    * "git diff --no-index" learned to read from named pipes as if they
      were regular files, to allow "git diff <(process) <(substitution)"
      some shells support.

Its cover letter <cover.1688586536.git.phillip.wood@dunelm.org.uk>
started like so:

    In some shells, such as bash and zsh, it's possible to use a command
    substitution to provide the output of a command as a file argument to
    another process, like so:

      diff -u <(printf "a\nb\n") <(printf "a\nc\n")

    However, ...

but you could have started it like so:

    * "git diff --no-index" learned to read from named pipes as if they
      were regular files, to allow "git diff <(process) <(substitution)"
      some shells support.

    In some shells, such as bash and zsh, it's possible to use a command
    substitution to provide the output of a command as a file argument to
    another process, like so:
    ...

and I suspect it would be sufficient to notice that the paragraph
wants to be the topic description.  We may even feed it to
automation if we decide to do so later [*2*].  Until then we

 - identify three-place indented first paragraph that is 2-5 lines
   long whose first line is indented with " * ";

 - somehow use it when adding the topic to "What's cooking" draft;

and then the integration process merges the topic to 'seen' and
uses it in the merge commit log message.  We *can* still copy-edit
what I keep in the draft of "What's cooking" which I send to the
list about twice a week.  When the topic eventually hits 'master',
the integration process would extract these merge log messages from
"git log --first-parent master" output for the batch, and I rearrange
them into sections of RelNotes, while doing the final proofreading.


[Footnotes]

 *1* The Reintegrate script and the other files from the 'todo'
     branch of my git repository are checked out in an untracked
     Meta subdirectory of my primary working area for Git
     development.  It knows how to take topic descriptions from the
     draft of "What's cooking" (also checked out in Meta/) among
     other tricks.

 *2* Teaching "am" to do something useful with the cover letters is
     something I have been wanting to do for quite some time.  Ideas
     other than the topic description we are disussing here include
     allowing the patch submitter to pick a branch name for the
     topic and creating an empty commit at the tip (not the bottom)
     of the topic branch that records the contents of the cover
     letter.


      reply	other threads:[~2024-03-26 16:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 22:21 [PATCH v2] SubmittingPatches: release-notes entry experiment Junio C Hamano
2024-03-25 23:37 ` Brian Lyles
2024-03-26  7:32   ` Junio C Hamano
2024-03-26  7:51   ` Dragan Simic
2024-03-26  7:43 ` Dragan Simic
2024-03-26 14:18 ` Phillip Wood
2024-03-26 16:28   ` Junio C Hamano [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=xmqq1q7xc5ys.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=brianmlyles@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jn.avila@free.fr \
    --cc=phillip.wood123@gmail.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).