From ce36894509bac4c03fd524fc668b1e43d6e56ee1 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 23 Apr 2024 10:52:34 -0700 Subject: format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)] In the previous step, the "--rfc" option of "format-patch" learned to take an optional string value to prepend to the subject prefix, so that --rfc=WIP can give "[WIP PATCH]". There may be cases in which the extra string wants to come after the subject prefix. Extend the mechanism to allow "--rfc=-(WIP)" [*] to signal that the extra string is to be appended instead of getting prepended, resulting in "[PATCH (WIP)]". In the documentation, discourage (ab)using "--rfc=-RFC" to say "[PATCH RFC]" just to be different, when "[RFC PATCH]" is the norm. [Footnote] * The syntax takes inspiration from Perl's open syntax that opens pipes "open fh, '|-', 'cmd'", where the dash signals "the other stuff comes here". Signed-off-by: Junio C Hamano --- builtin/log.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'builtin') diff --git a/builtin/log.c b/builtin/log.c index 97ca885b33..4750e480e6 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -2065,8 +2065,12 @@ 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 && rfc[0]) - strbuf_insertf(&sprefix, 0, "%s ", rfc); + if (rfc && rfc[0]) { + if (rfc[0] == '-') + strbuf_addf(&sprefix, " %s", rfc + 1); + else + strbuf_insertf(&sprefix, 0, "%s ", rfc); + } if (reroll_count) { strbuf_addf(&sprefix, " v%s", reroll_count); -- cgit v1.2.3