Subject: [PATCH v3 0/2] format-patch --rfc=WIP

From: Junio C Hamano <[email-masked]>
Date: Sun, 21 Apr 2024 11:59:13 -0700

So here is the hopefully final round.  I think the first one is
good, but the second one is of dubious and possibly negative value
(for the reasons, see its proposed log message), so I am undecided.

Junio C Hamano (2):
  format-patch: allow --rfc to optionally take a value, like --rfc=WIP
  format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]

 Documentation/git-format-patch.txt | 19 ++++++++++++++-----
 builtin/log.c                      | 25 +++++++++++++++++++++----
 t/t4014-format-patch.sh            | 28 +++++++++++++++++++++++++++-
 3 files changed, 62 insertions(+), 10 deletions(-)

Range-diff against v2:
1:  bffe0055d0 ! 1:  a874b85cb5 format-patch: allow --rfc to optionally take a value, like --rfc=WIP
    @@ builtin/log.c: static int subject_prefix_callback(const struct option *opt, cons
     +static int rfc_callback(const struct option *opt, const char *arg,
     +			int unset)
     +{
    -+	struct strbuf *rfc;
    ++	const char **rfc = opt->value;
     +
    -+	rfc = opt->value;
    -+	strbuf_reset(rfc);
    ++	*rfc = opt->value;
     +	if (!unset)
    -+		strbuf_addstr(rfc, arg ? arg : "RFC");
    ++		*rfc = arg ? arg : "RFC";
     +	return 0;
     +}
     +
    @@ builtin/log.c: int cmd_format_patch(int argc, const char **argv, const char *pre
      	struct strbuf rdiff2 = STRBUF_INIT;
      	struct strbuf rdiff_title = STRBUF_INIT;
      	struct strbuf sprefix = STRBUF_INIT;
    -+	struct strbuf rfc = STRBUF_INIT;
    ++	const char *rfc = NULL;
      	int creation_factor = -1;
     -	int rfc = 0;
      
    @@ builtin/log.c: int cmd_format_patch(int argc, const char **argv, const char *pre
      			    N_("cover-from-description-mode"),
      			    N_("generate parts of a cover letter based on a branch's description")),
     @@ builtin/log.c: int cmd_format_patch(int argc, const char **argv, const char *prefix)
    - 	if (cover_from_description_arg)
      		cover_from_description_mode = parse_cover_from_description(cover_from_description_arg);
      
    --	if (rfc)
    + 	if (rfc)
     -		strbuf_insertstr(&sprefix, 0, "RFC ");
    -+	if (rfc.len)
    -+		strbuf_insertf(&sprefix, 0, "%s ", rfc.buf);
    ++		strbuf_insertf(&sprefix, 0, "%s ", rfc);
      
      	if (reroll_count) {
      		strbuf_addf(&sprefix, " v%s", reroll_count);
-:  ---------- > 2:  6b82e903b6 format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
-- 
2.45.0-rc0