Merge branch 'jc/format-patch-range-diff-fix'
"git format-patch --range-diff" by mistake passed the diff options used to generate the primary output of the command to the range-diff machinery, which caused the range-diff in the cover letter to include fairly useless "--stat" output. This has been corrected by forcing a non-customizable default formatting options on the range-diff machinery when driven by format-patch. * jc/format-patch-range-diff-fix: format-patch: do not let its diff-options affect --range-diff
This commit is contained in:
commit
d32fa3c6f7
@ -250,6 +250,11 @@ feeding the result to `git send-email`.
|
||||
feature/v2`), or a revision range if the two versions of the series are
|
||||
disjoint (for example `git format-patch --cover-letter
|
||||
--range-diff=feature/v1~3..feature/v1 -3 feature/v2`).
|
||||
+
|
||||
Note that diff options passed to the command affect how the primary
|
||||
product of `format-patch` is generated, and they are not passed to
|
||||
the underlying `range-diff` machinery used to generate the cover-letter
|
||||
material (this may change in the future).
|
||||
|
||||
--creation-factor=<percent>::
|
||||
Used with `--range-diff`, tweak the heuristic which matches up commits
|
||||
|
@ -1096,7 +1096,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
|
||||
if (rev->rdiff1) {
|
||||
fprintf_ln(rev->diffopt.file, "%s", rev->rdiff_title);
|
||||
show_range_diff(rev->rdiff1, rev->rdiff2,
|
||||
rev->creation_factor, 1, &rev->diffopt);
|
||||
rev->creation_factor, 1, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -762,7 +762,7 @@ void show_log(struct rev_info *opt)
|
||||
next_commentary_block(opt, NULL);
|
||||
fprintf_ln(opt->diffopt.file, "%s", opt->rdiff_title);
|
||||
show_range_diff(opt->rdiff1, opt->rdiff2,
|
||||
opt->creation_factor, 1, &opt->diffopt);
|
||||
opt->creation_factor, 1, NULL);
|
||||
|
||||
memcpy(&diff_queued_diff, &dq, sizeof(diff_queued_diff));
|
||||
}
|
||||
|
@ -460,7 +460,11 @@ int show_range_diff(const char *range1, const char *range2,
|
||||
struct diff_options opts;
|
||||
struct strbuf indent = STRBUF_INIT;
|
||||
|
||||
memcpy(&opts, diffopt, sizeof(opts));
|
||||
if (diffopt)
|
||||
memcpy(&opts, diffopt, sizeof(opts));
|
||||
else
|
||||
diff_setup(&opts);
|
||||
|
||||
if (!opts.output_format)
|
||||
opts.output_format = DIFF_FORMAT_PATCH;
|
||||
opts.flags.suppress_diff_headers = 1;
|
||||
|
@ -5,6 +5,11 @@
|
||||
|
||||
#define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60
|
||||
|
||||
/*
|
||||
* Compare series of commmits in RANGE1 and RANGE2, and emit to the
|
||||
* standard output. NULL can be passed to DIFFOPT to use the built-in
|
||||
* default.
|
||||
*/
|
||||
int show_range_diff(const char *range1, const char *range2,
|
||||
int creation_factor, int dual_color,
|
||||
struct diff_options *diffopt);
|
||||
|
Loading…
Reference in New Issue
Block a user