Because print_summary() forgot to call diff_setup_done() after futzing with diff output options, it failed to activate recursive diff, which resulted in an incorrect summary. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- * This fixes the "5 files" problem you saw with your commit, which was totally bogus (it looked at "git diff-tree HEAD" output that was non-recursive, discarding the change of tree t/ itself). Now it will show "7 files" in line with your "git show". builtin-commit.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/builtin-commit.c b/builtin-commit.c index 518ebe0..61770ef 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -662,6 +662,7 @@ static void print_summary(const char *prefix, const unsigned char *sha1) rev.show_root_diff = 1; rev.commit_format = get_commit_format("format:%h: %s"); rev.always_show_header = 0; + diff_setup_done(&rev.diffopt); printf("Created %scommit ", initial_commit ? "initial " : ""); -- 1.5.4.rc0.52.gb90ce - 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