format-patch: teach --range-diff to respect -v/--reroll-count

The --range-diff option announces the embedded range-diff generically as "Range-diff:", however, we can do better when --reroll-count is specified by emitting "Range-diff against v{n}:" instead. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Eric Sunshine committed Jul 22, 2018 at 05:57 UTC 4ee99689410cf7275f21833779da89626eb6edd6
2 files changed +7 -1
builtin/log.c
+6 -1
@@ -1092,7 +1092,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
1092 }
1093
1094 if (rev->rdiff1) {
1095 - fprintf_ln(rev->diffopt.file, "%s", _("Range-diff:"));
1095 + fprintf_ln(rev->diffopt.file, "%s", rev->rdiff_title);
1096 show_range_diff(rev->rdiff1, rev->rdiff2,
1097 rev->creation_factor, 1, &rev->diffopt);
1098 }
@@ -1497,6 +1497,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
1497 const char *rdiff_prev = NULL;
1498 struct strbuf rdiff1 = STRBUF_INIT;
1499 struct strbuf rdiff2 = STRBUF_INIT;
1500 + struct strbuf rdiff_title = STRBUF_INIT;
1501
1502 const struct option builtin_format_patch_options[] = {
1503 { OPTION_CALLBACK, 'n', "numbered", &numbered, NULL,
@@ -1816,6 +1817,9 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
1817 rev.rdiff1 = rdiff1.buf;
1818 rev.rdiff2 = rdiff2.buf;
1819 rev.creation_factor = RANGE_DIFF_CREATION_FACTOR_DEFAULT;
1820 + rev.rdiff_title = diff_title(&rdiff_title, reroll_count,
1821 + _("Range-diff:"),
1822 + _("Range-diff against v%d:"));
1823 }
1824
1825 if (!signature) {
@@ -1943,6 +1947,7 @@ done:
1947 strbuf_release(&idiff_title);
1948 strbuf_release(&rdiff1);
1949 strbuf_release(&rdiff2);
1950 + strbuf_release(&rdiff_title);
1951 return 0;
1952 }
1953
revision.h
+1
@@ -222,6 +222,7 @@ struct rev_info {
222 const char *rdiff1;
223 const char *rdiff2;
224 int creation_factor;
225 + const char *rdiff_title;
226
227 /* commit counts */
228 int count_left;