diff: teach --stat/--numstat to honor -U$num

"git diff -p" piped to external diffstat and "git diff --stat" may see different patch text (both are valid and describe the same change correctly) when counting the number of added and deleted lines, arriving at different results to confuse the users, as --stat/--numstat codepath always uses the hardcoded -U0 as the context length. Make --stat/--numstat codepath to honor the context length the same way as the textual patch codepath does to avoid this problem. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Sep 22, 2011 at 10:54 UTC f01cae918feb564da8c7a286b32c7c917599acdd
1 file changed +2
diff.c
+2
@@ -2096,6 +2096,8 @@ static void builtin_diffstat(const char *name_a, const char *name_b,
2096 memset(&xpp, 0, sizeof(xpp));
2097 memset(&xecfg, 0, sizeof(xecfg));
2098 xpp.flags = o->xdl_opts;
2099 + xecfg.ctxlen = o->context;
2100 + xecfg.interhunkctxlen = o->interhunkcontext;
2101 xdi_diff_outf(&mf1, &mf2, diffstat_consume, diffstat,
2102 &xpp, &xecfg);
2103 }