From: Phillip Wood Date: Wed, 17 Apr 2024 10:02:28 GMT Subject: Re: [PATCH 3/4] format-patch: new --resend option for adding "RESEND" to patch subjects Message-ID: <154b085c-3e92-4eb6-b6a6-97aa02f8f07d@gmail.com> In-Reply-To: <1d9c6ce3df714211889453c245485d46b43edff6.1713324598.git.dsimic@manjaro.org> Hi Dragan On 17/04/2024 04:32, Dragan Simic wrote: > Add --resend as the new command-line option for "git format-patch" that adds > "RESEND" as a (sub)suffix to the patch subject prefix, eventually producing > "[PATCH RESEND]" as the default patch subject prefix. > > "[PATCH RESEND]" is a patch subject prefix commonly used on mailing lists > for patches resent to a mailing list after they had attracted no attention > for some time, usually for a couple of weeks. As such, this subject prefix > deserves adding --resend as a new shorthand option to "git format-patch". Playing devil's advocate for a minute, is this really common enough to justify a new option when the user can use "--subject-prefix='PATCH RESEND'" instead? Best Wishes Phillip > Of course, add the description of the new --resend command-line option to > the documentation for "git format-patch". > > Signed-off-by: Dragan Simic > --- > Documentation/git-format-patch.txt | 5 +++++ > builtin/log.c | 11 +++++++++-- > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt > index a5019ab46926..8e63b62620ed 100644 > --- a/Documentation/git-format-patch.txt > +++ b/Documentation/git-format-patch.txt > @@ -243,6 +243,11 @@ the patches (with a value of e.g. "PATCH my-project"). > default. RFC means "Request For Comments"; use this when sending > an experimental patch for discussion rather than application. > > +--resend:: > + Appends "RESEND" to the subject prefix, producing "PATCH RESEND" > + by default. Use this when sending again a patch that had resulted > + in attracting no discussion for a while. > + > -v :: > --reroll-count=:: > Mark the series as the -th iteration of the topic. The > diff --git a/builtin/log.c b/builtin/log.c > index e5a238f1cf2c..28f31659bcde 100644 > --- a/builtin/log.c > +++ b/builtin/log.c > @@ -1908,7 +1908,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) > struct strbuf rdiff_title = STRBUF_INIT; > struct strbuf sprefix = STRBUF_INIT; > int creation_factor = -1; > - int rfc = 0; > + int rfc = 0, resend = 0; > > const struct option builtin_format_patch_options[] = { > OPT_CALLBACK_F('n', "numbered", &numbered, NULL, > @@ -1933,6 +1933,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) > OPT_INTEGER(0, "filename-max-length", &fmt_patch_name_max, > N_("max length of output filename")), > OPT_BOOL(0, "rfc", &rfc, N_("use [RFC PATCH] instead of [PATCH]")), > + OPT_BOOL(0, "resend", &resend, N_("use [PATCH RESEND] instead of [PATCH]")), > OPT_STRING(0, "cover-from-description", &cover_from_description_arg, > N_("cover-from-description-mode"), > N_("generate parts of a cover letter based on a branch's description")), > @@ -2055,6 +2056,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) > strbuf_insertstr(&sprefix, 0, "RFC "); > subject_prefix = 1; > } > + if (resend) { > + strbuf_addstr(&sprefix, " RESEND"); > + subject_prefix = 1; > + } > > if (reroll_count) { > strbuf_addf(&sprefix, " v%s", reroll_count); > @@ -2111,7 +2116,9 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) > if (numbered && keep_subject) > die(_("options '%s' and '%s' cannot be used together"), "-n", "-k"); > if (keep_subject && subject_prefix) > - die(_("options '%s' and '%s' cannot be used together"), "--subject-prefix/--rfc", "-k"); > + die(_("options '%s' and '%s' cannot be used together"), "--subject-prefix/--rfc/--resend", "-k"); > + if (rfc && resend) > + die(_("options '%s' and '%s' cannot be used together"), "--rfc", "--resend"); > rev.preserve_subject = keep_subject; > > argc = setup_revisions(argc, argv, &rev, &s_r_opt); >