From: Junio C Hamano <gitster@pobox.com>
To: "Linus Arver via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org,
"Christian Couder [ ]" <chriscool@tuxfamily.org>,
"Emily Shaffer [ ]" <nasamuffin@google.com>,
"Josh Steadmon [ ]" <steadmon@google.com>,
"Randall S. Becker [ ]" <rsbecker@nexbridge.com>,
"Christian Couder [ ]" <christian.couder@gmail.com>,
Kristoffer Haugsbakk <code@khaugsbakk.name>,
Linus Arver <linusa@google.com>
Subject: Re: [PATCH 3/5] format_trailer_info(): append newline for non-trailer lines
Date: Fri, 15 Mar 2024 10:22:13 -0700 [thread overview]
Message-ID: <xmqqfrwrquka.fsf@gitster.g> (raw)
In-Reply-To: <259a4edcfa5138053255dbade411ef151617bb1b.1710485706.git.gitgitgadget@gmail.com> (Linus Arver via GitGitGadget's message of "Fri, 15 Mar 2024 06:55:03 +0000")
"Linus Arver via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Linus Arver <linusa@google.com>
>
> This wraps up the preparatory refactors to unify the trailer formatters.
> ...
> The test suite can pass again without the need to hide failures
> with *_failure, so flip the affected test cases back to *_success. Now,
> format_trailer_info() is in better shape to supersede format_trailers(),
> which we'll do in the next commit.
Nicely done. Queued.
>
> Signed-off-by: Linus Arver <linusa@google.com>
> ---
> t/t4205-log-pretty-formats.sh | 12 ++++++------
> t/t6300-for-each-ref.sh | 16 ++--------------
> trailer.c | 5 +++--
> 3 files changed, 11 insertions(+), 22 deletions(-)
>
> diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
> index 339e0c892ef..e3d655e6b8b 100755
> --- a/t/t4205-log-pretty-formats.sh
> +++ b/t/t4205-log-pretty-formats.sh
> @@ -675,7 +675,7 @@ test_expect_success '%(trailers:only=no,only=true) shows only "key: value" trail
> test_cmp expect actual
> '
>
> -test_expect_failure '%(trailers:unfold) unfolds trailers' '
> +test_expect_success '%(trailers:unfold) unfolds trailers' '
> git log --no-walk --pretty="%(trailers:unfold)" >actual &&
> {
> unfold <trailers &&
> @@ -737,7 +737,7 @@ test_expect_success '%(trailers:key=foo,unfold) properly unfolds' '
> test_cmp expect actual
> '
>
> -test_expect_failure 'pretty format %(trailers:key=foo,only=no) also includes nontrailer lines' '
> +test_expect_success 'pretty format %(trailers:key=foo,only=no) also includes nontrailer lines' '
> git log --no-walk --pretty="format:%(trailers:key=Acked-by,only=no)" >actual &&
> {
> echo "Acked-by: A U Thor <author@example.com>" &&
> @@ -752,7 +752,7 @@ test_expect_success '%(trailers:key) without value is error' '
> test_cmp expect actual
> '
>
> -test_expect_failure '%(trailers:keyonly) shows only keys' '
> +test_expect_success '%(trailers:keyonly) shows only keys' '
> git log --no-walk --pretty="format:%(trailers:keyonly)" >actual &&
> test_write_lines \
> "Signed-off-by" \
> @@ -774,7 +774,7 @@ test_expect_success '%(trailers:key=foo,valueonly) shows only value' '
> test_cmp expect actual
> '
>
> -test_expect_failure '%(trailers:valueonly) shows only values' '
> +test_expect_success '%(trailers:valueonly) shows only values' '
> git log --no-walk --pretty="format:%(trailers:valueonly)" >actual &&
> test_write_lines \
> "A U Thor <author@example.com>" \
> @@ -813,7 +813,7 @@ test_expect_success 'pretty format %(trailers:separator=X,unfold) changes separa
> test_cmp expect actual
> '
>
> -test_expect_failure 'pretty format %(trailers:key_value_separator) changes key-value separator' '
> +test_expect_success 'pretty format %(trailers:key_value_separator) changes key-value separator' '
> git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00)X" >actual &&
> (
> printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&
> @@ -824,7 +824,7 @@ test_expect_failure 'pretty format %(trailers:key_value_separator) changes key-v
> test_cmp expect actual
> '
>
> -test_expect_failure 'pretty format %(trailers:key_value_separator,unfold) changes key-value separator' '
> +test_expect_success 'pretty format %(trailers:key_value_separator,unfold) changes key-value separator' '
> git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00,unfold)X" >actual &&
> (
> printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&
> diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
> index 2688dcc7b9e..eb6c8204e8b 100755
> --- a/t/t6300-for-each-ref.sh
> +++ b/t/t6300-for-each-ref.sh
> @@ -1446,19 +1446,7 @@ test_trailer_option () {
> '
> }
>
> -# Just like test_trailer_option, but expect failure instead of success.
> -test_trailer_option_expect_failure () {
> - title=$1 option=$2
> - cat >expect
> - test_expect_failure "$title" '
> - git for-each-ref --format="%($option)" refs/heads/main >actual &&
> - test_cmp expect actual &&
> - git for-each-ref --format="%(contents:$option)" refs/heads/main >actual &&
> - test_cmp expect actual
> - '
> -}
> -
> -test_trailer_option_expect_failure '%(trailers:unfold) unfolds trailers' \
> +test_trailer_option '%(trailers:unfold) unfolds trailers' \
> 'trailers:unfold' <<-EOF
> $(unfold <trailers)
>
> @@ -1542,7 +1530,7 @@ test_trailer_option '%(trailers:key=foo,unfold) properly unfolds' \
>
> EOF
>
> -test_trailer_option_expect_failure '%(trailers:key=foo,only=no) also includes nontrailer lines' \
> +test_trailer_option '%(trailers:key=foo,only=no) also includes nontrailer lines' \
> 'trailers:key=Signed-off-by,only=no' <<-EOF
> Signed-off-by: A U Thor <author@example.com>
> $(grep patch.description <trailers)
> diff --git a/trailer.c b/trailer.c
> index 2c0dd8ac829..fe8b0819d55 100644
> --- a/trailer.c
> +++ b/trailer.c
> @@ -1124,9 +1124,10 @@ static void format_trailer_info(const struct process_trailer_options *opts,
> strbuf_addbuf(out, opts->separator);
> }
> strbuf_addstr(out, item->value);
> - if (opts->separator) {
> + if (opts->separator)
> strbuf_rtrim(out);
> - }
> + else
> + strbuf_addch(out, '\n');
> }
> }
> }
next prev parent reply other threads:[~2024-03-15 17:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-15 6:55 [PATCH 0/5] Unify trailer formatting functions Linus Arver via GitGitGadget
2024-03-15 6:55 ` [PATCH 1/5] format_trailer_info(): use trailer_item objects Linus Arver via GitGitGadget
2024-03-15 6:55 ` [PATCH 2/5] format_trailer_info(): drop redundant unfold_value() Linus Arver via GitGitGadget
2024-03-15 6:55 ` [PATCH 3/5] format_trailer_info(): append newline for non-trailer lines Linus Arver via GitGitGadget
2024-03-15 17:22 ` Junio C Hamano [this message]
2024-03-15 6:55 ` [PATCH 4/5] trailer: begin formatting unification Linus Arver via GitGitGadget
2024-03-15 6:55 ` [PATCH 5/5] trailer: finish " Linus Arver via GitGitGadget
2024-03-15 17:20 ` [PATCH 0/5] Unify trailer formatting functions Junio C Hamano
2024-03-15 18:26 ` Kristoffer Haugsbakk
2024-03-15 19:10 ` Junio C Hamano
2024-03-15 21:36 ` Linus Arver
2024-03-15 21:43 ` Junio C Hamano
2024-07-02 9:37 ` Johannes Schindelin
2024-03-26 21:57 ` Junio C Hamano
2024-04-02 0:27 ` Linus Arver
2024-04-15 21:02 ` 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=xmqqfrwrquka.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=code@khaugsbakk.name \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=linusa@google.com \
--cc=nasamuffin@google.com \
--cc=rsbecker@nexbridge.com \
--cc=steadmon@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.