Re: [PATCH 3/4] format-patch: new --resend option for adding "RESEND" to patch subjects
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Apr 17, 2024, 10:02 UTC
- 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:
Show 8 quoted lines
> 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
Show 69 quoted lines
> Of course, add the description of the new --resend command-line option to
> the documentation for "git format-patch".
>
> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
> ---
> 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 <n>::
> --reroll-count=<n>::
> Mark the series as the <n>-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);
>