From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
Siddharth Asthana <siddharthasthana31@gmail.com>,
git@vger.kernel.org, johncai86@gmail.com,
Johannes.Schindelin@gmx.de, me@ttaylorr.com
Subject: Re: [PATCH v5 1/2] cat-file: add mailmap support to -s option
Date: Mon, 21 Nov 2022 12:27:45 +0100 [thread overview]
Message-ID: <221121.867czoczdr.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <CAP8UFD1CB90eoWpQmGJbfxK7uHX0-u4BuSE-v=mD1yuW+nnAxA@mail.gmail.com>
On Mon, Nov 21 2022, Christian Couder wrote:
> On Mon, Nov 21, 2022 at 8:27 AM Junio C Hamano <gitster@pobox.com> wrote:
>>
>> Siddharth Asthana <siddharthasthana31@gmail.com> writes:
>>
>> > +test_expect_success 'git cat-file -s returns correct size with --use-mailmap' '
>> > + test_when_finished "rm .mailmap" &&
>> > + cat >.mailmap <<-\EOF &&
>> > + C O Mitter <committer@example.com> Orig <orig@example.com>
>> > + EOF
>> > + git cat-file commit HEAD | wc -c >expect &&
>> > + git cat-file --use-mailmap commit HEAD | wc -c >>expect &&
>> > + git cat-file -s HEAD >actual &&
>> > + git cat-file --use-mailmap -s HEAD >>actual &&
>>
>> Doesn't this break under macOS where wc output tends to be padded
>> with SP on the right? We used to often see test breakage when a
>> carelessly written test like
>>
>> test "$(wc -l <outout)" = 2
>>
>> which expects the output file to have exactly two files (the
>> solution in this sample case is to lose the double quotes around the
>> command substitution).
>
> I guess that's the reason why `wc -c | sed -e 's/^ *//'` is used in
> the strlen() function in t1006-cat-file.sh. There are a number of
> places in the tests where wc -c or wc -l are used without piping the
> result into sed -e 's/^ *//' though. So it's not easy to understand
> why it's sometimes needed.
It's because in "t1006-cat-file.sh" we're assigning the "wc -c" to a
variable, because it's used to "test_cmp" the number of bytes in some
free-form text.
It would be nicer to split "test_line_count" into some utility function
that knew how to parse out "wc -l", "wc -c" etc. for a given input file,
and return that as a string.
In that case the "sed" isn't needed, and we're just (ab)using it to do
things we can do with whitespace managent + shell built-ins. E.g. this
works too (the "echo; echo; echo" showing that we're stripping out
whitespace "wc -c" might emit:
diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh
index 23b8942edba..9ae4b534421 100755
--- a/t/t1006-cat-file.sh
+++ b/t/t1006-cat-file.sh
@@ -106,7 +106,7 @@ echo_without_newline_nul () {
}
strlen () {
- echo_without_newline "$1" | wc -c | sed -e 's/^ *//'
+ printf "%s" $(printf "%s" "$1" | (echo ; echo ; echo ; wc -c))
}
maybe_remove_timestamp () {
next prev parent reply other threads:[~2022-11-21 11:39 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-16 20:59 [PATCH 0/3] Add mailmap mechanism in --batch-check options Siddharth Asthana
2022-09-16 20:59 ` [PATCH 1/3] doc/cat-file: allow --use-mailmap for --batch options Siddharth Asthana
2022-09-16 22:02 ` Junio C Hamano
2022-09-16 20:59 ` [PATCH 2/3] cat-file: add mailmap support to -s option Siddharth Asthana
2022-09-16 22:22 ` Junio C Hamano
2022-09-16 20:59 ` [PATCH 3/3] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-09-16 22:35 ` Junio C Hamano
2022-09-26 10:53 ` [PATCH v2 0/2] Add mailmap mechanism in cat-file options Siddharth Asthana
2022-09-26 10:53 ` [PATCH v2 1/2] cat-file: add mailmap support to -s option Siddharth Asthana
2022-09-26 13:16 ` Ævar Arnfjörð Bjarmason
2022-09-26 13:25 ` Ævar Arnfjörð Bjarmason
2022-09-26 10:53 ` [PATCH v2 2/2] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-10-29 10:24 ` [PATCH v3 0/2] Add mailmap mechanism in cat-file options Siddharth Asthana
2022-10-29 10:24 ` [PATCH v3 1/2] cat-file: add mailmap support to -s option Siddharth Asthana
2022-10-31 11:49 ` Christian Couder
2022-10-29 10:24 ` [PATCH v3 2/2] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-10-31 11:43 ` Christian Couder
2022-10-29 18:00 ` [PATCH v3 0/2] Add mailmap mechanism in cat-file options Taylor Blau
2022-11-13 21:28 ` [PATCH v4 0/3] " Siddharth Asthana
2022-11-13 21:28 ` [PATCH v4 1/3] cat-file: add mailmap support to -s option Siddharth Asthana
2022-11-13 21:28 ` [PATCH v4 2/3] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-11-15 21:40 ` Taylor Blau
2022-11-13 21:28 ` [PATCH v4 3/3] doc/cat-file: allow --use-mailmap for --batch options Siddharth Asthana
2022-11-14 17:48 ` [PATCH v4 0/3] Add mailmap mechanism in cat-file options Christian Couder
2022-11-14 22:30 ` Taylor Blau
2022-11-20 7:42 ` Siddharth Asthana
2022-11-20 7:48 ` [PATCH v5 0/2] " Siddharth Asthana
2022-11-20 7:48 ` [PATCH v5 1/2] cat-file: add mailmap support to -s option Siddharth Asthana
2022-11-21 7:27 ` Junio C Hamano
2022-11-21 9:40 ` Christian Couder
2022-11-21 9:45 ` Junio C Hamano
2022-11-21 11:27 ` Ævar Arnfjörð Bjarmason [this message]
2022-11-20 7:48 ` [PATCH v5 2/2] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-11-21 7:38 ` Junio C Hamano
2022-11-30 9:19 ` Junio C Hamano
2022-12-01 15:55 ` [PATCH v6 0/2] Add mailmap mechanism in cat-file options Siddharth Asthana
2022-12-01 15:55 ` [PATCH v6 1/2] cat-file: add mailmap support to -s option Siddharth Asthana
2022-12-01 15:55 ` [PATCH v6 2/2] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-12-14 11:27 ` Ævar Arnfjörð Bjarmason
2022-12-14 14:04 ` Christian Couder
2022-12-20 6:01 ` [PATCH v7 0/2] Add mailmap mechanism in cat-file options Siddharth Asthana
2022-12-20 6:01 ` [PATCH v7 1/2] cat-file: add mailmap support to -s option Siddharth Asthana
2022-12-20 6:01 ` [PATCH v7 2/2] cat-file: add mailmap support to --batch-check option Siddharth Asthana
2022-12-20 13:02 ` [PATCH v7 0/2] Add mailmap mechanism in cat-file options Ævar Arnfjörð Bjarmason
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=221121.867czoczdr.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johncai86@gmail.com \
--cc=me@ttaylorr.com \
--cc=siddharthasthana31@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.
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.