On Tue, 18 Apr 2006, Linus Torvalds wrote: > > But this all looks very nice. I agree that "git log --stat" is a very nice > way to look at the log, much better than "git-whatchanged". And the thing > that has really fallen out of this all is how you can do > > git log --stat --full-diff drivers/pci/ > > which git-whatchanged historically didn't support (of course, now it > does, but you're right, the new "git log" is so nice that I'm starting to > teach myself not to use "git whatchanged" any more). Junio, I just tested the "master" branch, and "git log --stat" doesn't work there. You may _think_ it works because you've tested it on the git tree, were it looks like it is working, but it's missing setting "recursive", so it won't actually go into any subdirectories (so it mostly works for git itself which has most stuff in the top-level directory, but it almost completely doesn't work for linux) "git log -r --stat" works, so it's really just a missing that. Something like this (this is master, not "next"). "next" actually has the same bug, but there it is hidden because "git log" sets recursive automatically. Which may or may not be appropriate. It might be worthwhile to fix it properly in "next" too (there the same if (...output_format == DIFF_FORMAT_PATCH) ...recursive = 1; is in revision.c: setup_revisions()). Linus ---- diff --git a/git.c b/git.c index 140ed18..f98c9ba 100644 --- a/git.c +++ b/git.c @@ -344,7 +344,8 @@ static int cmd_log(int argc, const char opt.ignore_merges = 0; if (opt.dense_combined_merges) opt.diffopt.output_format = DIFF_FORMAT_PATCH; - if (opt.diffopt.output_format == DIFF_FORMAT_PATCH) + if (opt.diffopt.output_format == DIFF_FORMAT_PATCH || + opt.diffopt.output_format == DIFF_FORMAT_DIFFSTAT) opt.diffopt.recursive = 1; if (!full_diff && rev.prune_data) diff_tree_setup_paths(rev.prune_data, &opt.diffopt); - : 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