On Thu, Dec 11, 2008 at 08:52:55PM -0500, Jeff King wrote: > It looks like it is just a place where two different valid diffs can be > constructed: > [...] > which is probably just due to different xdi settings being used between > the two codepaths. I haven't looked closely to see which different > options we are feeding to xdiff. Ah. Doing this gives me the 68/12 answer for "git log --numstat": diff --git a/diff.c b/diff.c index af822c1..5f314ce 100644 --- a/diff.c +++ b/diff.c @@ -1539,6 +1539,7 @@ static void builtin_diffstat(const char *name_a, const char *name_b, memset(&xpp, 0, sizeof(xpp)); memset(&xecfg, 0, sizeof(xecfg)); + xecfg.ctxlen = o->context; xpp.flags = XDF_NEED_MINIMAL | o->xdl_opts; xdi_diff_outf(&mf1, &mf2, diffstat_consume, diffstat, &xpp, &xecfg, &ecb); I guess it is slightly less efficient (since we just throw away the context lines anyway), but it is nice to count the exact same patch that "git log -p" would produce. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html