git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: ZheNing Hu <adlternative@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Christian Couder <christian.couder@gmail.com>,
	Taylor Blau <me@ttaylorr.com>, git <git@vger.kernel.org>,
	Matthias Buehlmann <Matthias.Buehlmann@mabulous.com>,
	Jonathan Tan <jonathantanmy@google.com>
Subject: Re: Bug Report: Multi-line trailers containing empty lines break parsing
Date: Fri, 26 Mar 2021 18:25:26 +0800	[thread overview]
Message-ID: <CAOLTT8QPJJWh_Xm=n+i7z5+5w=eBq9tcr5-yBmhovzqOXP=jnQ@mail.gmail.com> (raw)
In-Reply-To: <xmqqmturw13r.fsf@gitster.g>

Junio C Hamano <gitster@pobox.com> 于2021年3月26日周五 上午2:16写道:
>
> ZheNing Hu <adlternative@gmail.com> writes:
>
> > Christian Couder <christian.couder@gmail.com> 于2021年3月25日周四 下午3:54写道:
> >>
> >> Maybe it's not enough, but the doc already has the following:
> >>
> >> ------
> >> Existing trailers are extracted from the input message by looking for
> >> a group of one or more lines that (i) is all trailers, or (ii) contains at
> >> least one Git-generated or user-configured trailer and consists of at
> >> least 25% trailers.
> >> The group must be preceded by one or more empty (or whitespace-only) lines.
> >> The group must either be at the end of the message or be the last
> >> non-whitespace lines before a line that starts with '---' (followed by a
> >> space or the end of the line). Such three minus signs start the patch
> >> part of the message. See also `--no-divider` below.
> >>
> >> When reading trailers, there can be whitespaces after the
> >> token, the separator and the value. There can also be whitespaces
> >> inside the token and the value. The value may be split over multiple lines with
> >> each subsequent line starting with whitespace, like the "folding" in RFC 822.
> >> ------
> >
> >
> > Maybe I don't have enough right to speak on this issue, but I always think that
> >  the empty line is intentional by the designer, especially when I test it.
>
> People like you, who is relatively new to the system and the list,
> are valuable source of information for us to learn where in the
> current system and documentation we have room to improve and
> clarify.  You do have right, and we welcome your input.
>

Thanks:)

> Care to clarify what you mean by "the empty line is intentional by
> the designer"?  The designer of the current "trailer" intended to
> make the "last paragraph" (where "paragraph" is defined as a run of
> lines without an empty line in it, so that one or more continguous
> empty lines separate "paragraphs") where the trailers sit in the log
> message.  Is that what you mean?  Or something else?

Emmm, I mean generally speaking, the entire commit infomations is divided into
three paragraphs: "subject"/"message"/"trailers".

When we use `--parse` to get those trailers, normally it can indeed be obtained,
But if in the middle of the trailers have a extra empty lines or lines with only
whitespaces, All trailers before the blank line will be discarded, I think it is
acceptable.Because It seems that the previous content belongs to the message
section.

Like this:
------
(subject)

First paragraph:
hello world

Second paragraph:
what happen if some thing like

this: Use git to commit code to git

Signed-off-by: CoCo <cc@gg.com>
Deleted-by: ADL <a@gg.com>
-----

"this: Use git to commit code to git" seem like a trailer,
but it's user's message.

So I think the purpose of these blank lines is to separate the
three parts of the commit information. It is normal for the blank
lines inside trailers to cause ambiguity.

Please correct me if I what I said is wrong.
--
ZheNing Hu

  reply	other threads:[~2021-03-26 10:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-15 21:54 Bug Report: Multi-line trailers containing empty lines break parsing Matthias Buehlmann
2021-02-16  2:29 ` Junio C Hamano
2021-02-16 18:07   ` Taylor Blau
2021-02-16 19:39     ` Junio C Hamano
2021-02-16 19:47       ` Taylor Blau
2021-03-23 15:17         ` Christian Couder
2021-03-23 17:39           ` Junio C Hamano
2021-03-25  7:53             ` Christian Couder
2021-03-25  9:33               ` ZheNing Hu
2021-03-25 18:16                 ` Junio C Hamano
2021-03-26 10:25                   ` ZheNing Hu [this message]
2021-03-25 18:08               ` Junio C Hamano

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='CAOLTT8QPJJWh_Xm=n+i7z5+5w=eBq9tcr5-yBmhovzqOXP=jnQ@mail.gmail.com' \
    --to=adlternative@gmail.com \
    --cc=Matthias.Buehlmann@mabulous.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonathantanmy@google.com \
    --cc=me@ttaylorr.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 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 NNTP newsgroup(s).