Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > And on exactly that note: > >> * diff --dirstat (Linus) > > I actually actively use this (not just for -rc releases, but I find it > nice to do occasionally in other cases too), so it would be really nice if > at least the initial version got merged soon. Even if it gets the binary > case wrong,... I am planning to do this (dropping the "damange" one I previously showed and queued in 'pu') and merge to 'master' for now. -- >8 -- [PATCH] diff --dirstat: saner handling of binary and unmerged files We do not account binary nor unmerged files when --shortstat is asked for (or the summary stat at the end of --stat). The new option --dirstat should work the same way as it is about summarizing the changes of multiple files by adding them up. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- diff.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/diff.c b/diff.c index dd374d4..bcc323f 100644 --- a/diff.c +++ b/diff.c @@ -1016,7 +1016,10 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons this = gather_dirstat(dir, changed, f->name, newbaselen); sources++; } else { - this = f->added + f->deleted; + if (f->is_unmerged || f->is_binary) + this = 0; + else + this = f->added + f->deleted; dir->files++; dir->nr--; sources += 2; @@ -1053,6 +1056,8 @@ static void show_dirstat(struct diffstat_t *data, struct diff_options *options) /* Calculate total changes */ changed = 0; for (i = 0; i < data->nr; i++) { + if (data->files[i]->is_binary || data->files[i]->is_unmerged) + continue; changed += data->files[i]->added; changed += data->files[i]->deleted; } - 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