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
}