All of lore.kernel.org
 help / color / mirror / Atom feed
From: ZheNing Hu <adlternative@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>,
	Git List <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>,
	Denton Liu <liu.denton@gmail.com>
Subject: Re: [PATCH v4] format-patch: allow a non-integral version numbers
Date: Tue, 16 Mar 2021 13:48:36 +0800	[thread overview]
Message-ID: <CAOLTT8T14P1VfbbXnXpAV-6GfZ8jXUqqCVaY1Uxs3UtfnFvKvw@mail.gmail.com> (raw)
In-Reply-To: <CAPig+cSd-e76bOQY8yoZnRDbuQbZ_FNHJ5TV6BC+dAofPmk7DQ@mail.gmail.com>

Eric Sunshine <sunshine@sunshineco.com> 于2021年3月16日周二 上午7:41写道:
>
> On Fri, Mar 5, 2021 at 2:10 AM ZheNing Hu via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
> > Usually we can only use `format-patch -v<n>` to generate integral
> > version numbers patches, but sometimes a same fixup should be
> > labeled as a non-integral version like `v1.1`, so teach `format-patch`
> > to allow a non-integral version which may be helpful to send those
> > patches.
> >
> > `<n>` can be any string, such as `-v1.1`.  In the case where it
> > is a non-integral value, the "Range-diff" and "Interdiff"
> > headers will not include the previous version.
> >
> > Signed-off-by: ZheNing Hu <adlternative@gmail.com>
> > ---
> > diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
> > @@ -221,6 +221,7 @@ populated with placeholder text.
> >         `--reroll-count=4` may produce `v4-0001-add-makefile.patch`
> >         file that has "Subject: [PATCH v4 1/20] Add makefile" in it.
> > +       now can support non-integrated version number like `-v1.1`.
>
> Let's drop "now" from the beginning of the sentence since it is only
> meaningful for people who have read this documentation previously, but
> not for people newly learning about the option. Perhaps just say:
>
>     `<n>` may be a fractional number.
>
I agree with you.
> > diff --git a/builtin/log.c b/builtin/log.c
> > @@ -1862,11 +1863,13 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
> > -       if (0 < reroll_count) {
> > +       if (reroll_count_string) {
> >                 struct strbuf sprefix = STRBUF_INIT;
> > +
> > +               strtol_i(reroll_count_string, 10, &reroll_count);
> > +               strbuf_addf(&sprefix, "%s v%s",
> > +                           rev.subject_prefix, reroll_count_string);
> > +               rev.reroll_count = reroll_count_string;
>
> This code can be confusing to readers since it appears to ignore the
> result of strtol_i(), and it's difficult for the reader to understand
> the difference between `reroll_count` and `reroll_count_string` and
> why you need both variables. I was going to suggest that you write an
> /* in-code comment */ here explaining why you don't care if the reroll
> count parsed correctly as a number. However, now that I'm examining
> the code again, I think it would be clearer if you move the strtol_i()
> call into the diff_title() function since -- following your changes --
> that function is the only code which cares whether `reroll_count` can
> be parsed as a number (the rest of the code, after your change, just
> uses it as a string).

Well, The reason `strtol_i` does not check the return value is that
`strtol_i` will
only modify the value of `reroll_count` if the `reroll_count_string`
we provide is
 an integer string, so if `reroll_count_string` is not an integer string, then
`reroll_count` will remain -1, and then `diff_title` will only execute

        if (reroll_count <= 0)
                strbuf_addstr(sb, generic);

So don't need check strtol_i return value. But what you said to put
`strtol_i` in
`diff_title` is indeed a good idea. Of course, we need to modify the declaration
 and parameters of `diff_title`.

  reply	other threads:[~2021-03-16  5:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-25 16:15 [PATCH] format-patch: allow a non-integral version numbers ZheNing Hu via GitGitGadget
2021-02-25 17:56 ` Eric Sunshine
2021-02-27  7:00   ` ZheNing Hu
2021-02-25 18:13 ` Junio C Hamano
2021-02-27  7:30   ` ZheNing Hu
2021-03-17 11:46   ` Đoàn Trần Công Danh
2021-03-17 19:17     ` Junio C Hamano
2021-03-01  8:40 ` [PATCH v2] " ZheNing Hu via GitGitGadget
2021-03-03  3:44   ` Junio C Hamano
2021-03-03  9:02   ` Denton Liu
2021-03-04  0:54     ` Junio C Hamano
2021-03-04  2:08       ` ZheNing Hu
2021-03-04  3:27         ` Eric Sunshine
2021-03-04  8:41           ` Denton Liu
2021-03-04 12:12   ` [PATCH v3] " ZheNing Hu via GitGitGadget
2021-03-04 12:49     ` Denton Liu
2021-03-05  4:56       ` ZheNing Hu
2021-03-05  7:10     ` [PATCH v4] " ZheNing Hu via GitGitGadget
2021-03-15 23:41       ` Eric Sunshine
2021-03-16  5:48         ` ZheNing Hu [this message]
2021-03-16  6:15           ` Eric Sunshine
2021-03-17 17:27             ` Junio C Hamano
2021-03-16  8:25       ` [PATCH v5] " ZheNing Hu via GitGitGadget
2021-03-16 23:36         ` Eric Sunshine
2021-03-17  2:05           ` ZheNing Hu
2021-03-18  6:00         ` [PATCH v6] " ZheNing Hu via GitGitGadget
2021-03-19  6:00           ` Eric Sunshine
2021-03-19  7:25             ` ZheNing Hu
2021-03-19 11:21           ` [PATCH v7] " ZheNing Hu via GitGitGadget
2021-03-19 16:01             ` Junio C Hamano
2021-03-20  3:08               ` ZheNing Hu
2021-03-19 17:28             ` Junio C Hamano
2021-03-20  3:04               ` ZheNing Hu
2021-03-20 14:56             ` [PATCH v8] " ZheNing Hu via GitGitGadget
2021-03-20 19:55               ` Junio C Hamano
2021-03-21  2:45                 ` ZheNing Hu
2021-03-21  4:05               ` Eric Sunshine
2021-03-21  5:45                 ` Junio C Hamano
2021-03-21  5:54                   ` Eric Sunshine
2021-03-24  8:46                     ` Denton Liu
2021-03-21  7:22                 ` ZheNing Hu
2021-03-21  9:00               ` [PATCH v9] " ZheNing Hu via GitGitGadget
2021-03-23  5:31                 ` Eric Sunshine
2021-03-23  6:42                   ` Junio C Hamano
2021-03-23  8:53                   ` ZheNing Hu
2021-03-23  9:16                     ` ZheNing Hu
2021-03-23 11:12                 ` [PATCH v10] " ZheNing Hu via GitGitGadget
2021-03-24  3:58                   ` Eric Sunshine
2021-03-24  4:43                     ` ZheNing Hu

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=CAOLTT8T14P1VfbbXnXpAV-6GfZ8jXUqqCVaY1Uxs3UtfnFvKvw@mail.gmail.com \
    --to=adlternative@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    --cc=liu.denton@gmail.com \
    --cc=sunshine@sunshineco.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.