From: Junio C Hamano <gitster@pobox.com>
To: "Luca Weiss via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Luca Weiss <luca@z3ntu.xyz>
Subject: Re: [PATCH 0/2] Normalize newlines in merge & interpret-trailer
Date: Fri, 16 Jul 2021 15:10:20 -0700 [thread overview]
Message-ID: <xmqqsg0dq59v.fsf@gitster.g> (raw)
In-Reply-To: <pull.1048.git.git.1626421416.gitgitgadget@gmail.com> (Luca Weiss via GitGitGadget's message of "Fri, 16 Jul 2021 07:43:34 +0000")
"Luca Weiss via GitGitGadget" <gitgitgadget@gmail.com> writes:
> These two patches fix a problem where the trailer would be appended to the
> commit message without an empty line, so parsing the trailers again
> afterwards would fail.
>
> In practice either one of the patches fixes the exact behavior I see but in
> both cases it makes sense to normalize the newlines.
>
> The exact use case where this issue was found is a "git merge --no-edit"
> with a commit-msg hook that adds a trailer immediately afterwards. The input
> the commit-msg script gets is not terminated by a newline (which is fixed by
> the second commit) while the first one makes interpret-trailer capable of
> handling such input without a final newline.
When you fold some of what you wrote in the above into the proposed
commit log message proper when you send an updated version of the
series, please pay special attention to the phrases like "empty
line", "normalize newline" and "terminated by a newline".
- As there are some folks who use Git on Windows on this list, when
we say "normalize the newlines", they will think of CRLF vs LF,
but I do not think that is what you are talking about here.
- As I asked in my review of one of your patches, please explain
where the incomplete line comes from (e.g. saying "if the user
ends the edited log message with an incomplete line" would make
it clear how we missed such an incomplete line to come into the
system).
- I am guessing that "without an empty line" is because we usually
append trailers with one newline after the last line of the log
message, with the expectation that the existing log message ends
with a complete line, but an incomplete line at the end of the
log message absorbs the newline and makes it as part of the last
line that is now a complete line? And a trailer block that is
not separated with a blank line from the last paragraph of the
message body is not taken as a trailer block, causing the later
parsing to fail, but from your description it was unclear how
the trailer block is added without the paragraph break.
Thanks.
prev parent reply other threads:[~2021-07-16 22:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-16 7:43 [PATCH 0/2] Normalize newlines in merge & interpret-trailer Luca Weiss via GitGitGadget
2021-07-16 7:43 ` [PATCH 1/2] trailer: handle input without trailing newline Luca Weiss via GitGitGadget
2021-07-16 19:35 ` Jeff King
2021-07-16 7:43 ` [PATCH 2/2] merge: make sure to terminate message with newline Luca Weiss via GitGitGadget
2021-07-16 10:23 ` Phillip Wood
2021-07-16 12:37 ` Luca Weiss
2021-07-16 17:30 ` Phillip Wood
2021-07-16 19:33 ` Jeff King
2021-07-16 20:34 ` Junio C Hamano
2021-07-16 21:10 ` Jeff King
2021-07-16 22:13 ` Junio C Hamano
2021-07-17 13:40 ` Phillip Wood
2021-07-17 17:47 ` Jeff King
2021-07-21 10:41 ` Luca Weiss
2021-08-26 18:32 ` Luca Weiss
2021-07-16 20:20 ` Junio C Hamano
2021-07-16 22:10 ` 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=xmqqsg0dq59v.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=luca@z3ntu.xyz \
/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).