From: Junio C Hamano <gitster@pobox.com>
To: Siddharth Asthana <siddharthasthana31@gmail.com>
Cc: git@vger.kernel.org, phillip.wood123@gmail.com,
congdanhqx@gmail.com, christian.couder@gmail.com,
avarab@gmail.com, Johannes.Schindelin@gmx.de,
johncai86@gmail.com
Subject: Re: [PATCH v5 1/4] revision: improve commit_rewrite_person()
Date: Sun, 17 Jul 2022 15:11:30 -0700 [thread overview]
Message-ID: <xmqqo7xnv17x.fsf@gitster.g> (raw)
In-Reply-To: <20220716074055.1786231-2-siddharthasthana31@gmail.com> (Siddharth Asthana's message of "Sat, 16 Jul 2022 13:10:52 +0530")
Siddharth Asthana <siddharthasthana31@gmail.com> writes:
> +/*
> + * Returns the difference between the new and old length of the ident line.
> + */
> +static ssize_t rewrite_ident_line(const char *person, struct strbuf *buf,
> + struct string_list *mailmap)
Line-folding is a good idea, but why do we use such a deep
indentation? In this project, tab-width is 8.
> +static void commit_rewrite_person(struct strbuf *buf, const char **header,
> + struct string_list *mailmap)
Likewise.
> +{
> + size_t buf_offset = 0;
> +
> + if (!mailmap)
> + return;
> +
> + for (;;) {
> + const char *person, *line;
> + size_t i;
> +
> + line = buf->buf + buf_offset;
> + if (!*line || *line == '\n')
> + return; /* End of header */
> +
> + for (i = 0; header[i]; i++)
> + if (skip_prefix(line, header[i], &person)) {
> + rewrite_ident_line(person, buf, mailmap);
If the return value of rewrite_ident_line() is never used, perhaps
stop computing the return value in that function and make it return
"void". I personally thought it was clever to return "how much does
the ident part grew/shrunk?" from the helper and use it to adjust,
but I do not mind to scrap the clever-ness if some folks may find it
harder to understand.
> + break;
> + }
> +
> + buf_offset = strchrnul(buf->buf + buf_offset, '\n') - buf->buf;
And this is a "easier-to-understand but need to scan the buffer once
again, only to figure out what we ought to already know" version.
> + if (buf->buf[buf_offset] == '\n')
> + ++buf_offset;
Prefer post-increment when there is no reason to favor pre-increment
over post-increment, i.e. write this as "buf_offset++".
> + }
> +}
> +
> static int commit_match(struct commit *commit, struct rev_info *opt)
> {
> int retval;
> @@ -3832,11 +3862,12 @@ static int commit_match(struct commit *commit, struct rev_info *opt)
> strbuf_addstr(&buf, message);
>
> if (opt->grep_filter.header_list && opt->mailmap) {
> + const char *commit_headers[] = { "author ", "committer ", NULL };
> +
> if (!buf.len)
> strbuf_addstr(&buf, message);
>
> - commit_rewrite_person(&buf, "\nauthor ", opt->mailmap);
> - commit_rewrite_person(&buf, "\ncommitter ", opt->mailmap);
> + commit_rewrite_person(&buf, commit_headers, opt->mailmap);
> }
>
> /* Append "fake" message parts as needed */
next prev parent reply other threads:[~2022-07-17 22:11 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-30 14:24 [PATCH 0/3] Add support for mailmap in cat-file Siddharth Asthana
2022-06-30 14:24 ` [PATCH 1/3] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-06-30 16:00 ` Đoàn Trần Công Danh
2022-06-30 23:22 ` Junio C Hamano
2022-06-30 14:24 ` [PATCH 2/3] ident: rename commit_rewrite_person() to rewrite_ident_line() Siddharth Asthana
2022-06-30 15:33 ` Phillip Wood
2022-06-30 16:55 ` Christian Couder
2022-06-30 23:31 ` Junio C Hamano
2022-06-30 14:24 ` [PATCH 3/3] cat-file: add mailmap support Siddharth Asthana
2022-06-30 15:50 ` Phillip Wood
2022-06-30 16:36 ` Phillip Wood
2022-06-30 17:07 ` Christian Couder
2022-06-30 21:33 ` Junio C Hamano
2022-07-07 9:15 ` Christian Couder
2022-06-30 23:36 ` Ævar Arnfjörð Bjarmason
2022-06-30 23:53 ` Junio C Hamano
2022-07-07 9:02 ` Christian Couder
2022-06-30 23:41 ` Junio C Hamano
2022-06-30 21:18 ` [PATCH 0/3] Add support for mailmap in cat-file Junio C Hamano
2022-07-07 16:15 ` [PATCH v2 0/4] " Siddharth Asthana
2022-07-07 16:15 ` [PATCH v2 1/4] revision: improve commit_rewrite_person() Siddharth Asthana
2022-07-07 21:52 ` Junio C Hamano
2022-07-08 14:50 ` Đoàn Trần Công Danh
[not found] ` <CAP8UFD116xMnp27pxW8WNDf6PRJxnnwWtcy2TNHU_KyV2ZVA1g@mail.gmail.com>
2022-07-09 1:02 ` Đoàn Trần Công Danh
2022-07-09 5:04 ` Christian Couder
2022-07-07 16:15 ` [PATCH v2 2/4] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-07-07 16:15 ` [PATCH v2 3/4] ident: rename commit_rewrite_person() to apply_mailmap_to_header() Siddharth Asthana
2022-07-07 16:15 ` [PATCH v2 4/4] cat-file: add mailmap support Siddharth Asthana
2022-07-07 21:55 ` Junio C Hamano
2022-07-08 11:53 ` Johannes Schindelin
2022-07-07 22:06 ` [PATCH v2 0/4] Add support for mailmap in cat-file Junio C Hamano
2022-07-07 22:58 ` Junio C Hamano
2022-07-09 15:41 ` [PATCH v3 " Siddharth Asthana
2022-07-09 15:41 ` [PATCH v3 1/4] revision: improve commit_rewrite_person() Siddharth Asthana
2022-07-12 16:29 ` Johannes Schindelin
2022-07-09 15:41 ` [PATCH v3 2/4] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-07-09 15:41 ` [PATCH v3 3/4] ident: rename commit_rewrite_person() to apply_mailmap_to_header() Siddharth Asthana
2022-07-09 15:41 ` [PATCH v3 4/4] cat-file: add mailmap support Siddharth Asthana
2022-07-10 5:34 ` [PATCH v3 0/4] Add support for mailmap in cat-file Junio C Hamano
2022-07-12 12:34 ` Johannes Schindelin
2022-07-12 14:16 ` Junio C Hamano
2022-07-12 16:01 ` Siddharth Asthana
2022-07-12 16:06 ` Junio C Hamano
2022-07-12 16:06 ` [PATCH v4 " Siddharth Asthana
2022-07-12 16:06 ` [PATCH v4 1/4] revision: improve commit_rewrite_person() Siddharth Asthana
2022-07-13 1:25 ` Ævar Arnfjörð Bjarmason
2022-07-13 12:18 ` Christian Couder
2022-07-14 21:02 ` Junio C Hamano
2022-07-12 16:06 ` [PATCH v4 2/4] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-07-12 16:06 ` [PATCH v4 3/4] ident: rename commit_rewrite_person() to apply_mailmap_to_header() Siddharth Asthana
2022-07-13 1:25 ` Ævar Arnfjörð Bjarmason
2022-07-13 13:29 ` Christian Couder
2022-07-12 16:06 ` [PATCH v4 4/4] cat-file: add mailmap support Siddharth Asthana
2022-07-16 7:40 ` [PATCH v5 0/4] Add support for mailmap in cat-file Siddharth Asthana
2022-07-16 7:40 ` [PATCH v5 1/4] revision: improve commit_rewrite_person() Siddharth Asthana
2022-07-17 22:11 ` Junio C Hamano [this message]
2022-07-16 7:40 ` [PATCH v5 2/4] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-07-16 7:40 ` [PATCH v5 3/4] ident: rename commit_rewrite_person() to apply_mailmap_to_header() Siddharth Asthana
2022-07-16 7:40 ` [PATCH v5 4/4] cat-file: add mailmap support Siddharth Asthana
2022-07-18 19:50 ` [PATCH v6 0/4] Add support for mailmap in cat-file Siddharth Asthana
2022-07-18 19:50 ` [PATCH v6 1/4] revision: improve commit_rewrite_person() Siddharth Asthana
2022-07-18 19:51 ` [PATCH v6 2/4] ident: move commit_rewrite_person() to ident.c Siddharth Asthana
2022-07-18 19:51 ` [PATCH v6 3/4] ident: rename commit_rewrite_person() to apply_mailmap_to_header() Siddharth Asthana
2022-07-18 19:51 ` [PATCH v6 4/4] cat-file: add mailmap support Siddharth Asthana
2022-07-25 18:58 ` [PATCH v6 0/4] Add support for mailmap in cat-file Junio C Hamano
2022-07-28 19:07 ` Christian Couder
2022-07-28 19:32 ` Junio C Hamano
2022-07-30 7:50 ` Siddharth Asthana
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=xmqqo7xnv17x.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=christian.couder@gmail.com \
--cc=congdanhqx@gmail.com \
--cc=git@vger.kernel.org \
--cc=johncai86@gmail.com \
--cc=phillip.wood123@gmail.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.
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).