diff options
author | ZheNing Hu <adlternative@gmail.com> | 2021-03-23 14:12:25 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-03-23 22:49:47 +0300 |
commit | db91988aa102d48af1c1203d8cc2d01240df7365 (patch) | |
tree | 7cceefdf74570b5b592793f527f5e45db21c7a47 /log-tree.c | |
parent | 90917373cd21f60ccd2636e067a0c2685d29d0d5 (diff) |
format-patch: allow a non-integral version numbers
The `-v<n>` option of `format-patch` can give nothing but an
integral iteration number to patches in a series. Some people,
however, prefer to mark a new iteration with only a small fixup
with a non integral iteration number (e.g. an "oops, that was
wrong" fix-up patch for v4 iteration may be labeled as "v4.1").
Allow `format-patch` to take such a non-integral iteration
number.
`<n>` can be any string, such as '3.1' or '4rev2'. 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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'log-tree.c')
-rw-r--r-- | log-tree.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/log-tree.c b/log-tree.c index 4531cebfab..f3178a66a9 100644 --- a/log-tree.c +++ b/log-tree.c @@ -369,8 +369,14 @@ void fmt_output_subject(struct strbuf *filename, int start_len = filename->len; int max_len = start_len + info->patch_name_max - (strlen(suffix) + 1); - if (0 < info->reroll_count) - strbuf_addf(filename, "v%d-", info->reroll_count); + if (info->reroll_count) { + struct strbuf temp = STRBUF_INIT; + + strbuf_addf(&temp, "v%s", info->reroll_count); + format_sanitized_subject(filename, temp.buf, temp.len); + strbuf_addstr(filename, "-"); + strbuf_release(&temp); + } strbuf_addf(filename, "%04d-%s", nr, subject); if (max_len < filename->len) |