Re: Instituting feature and infrastructure enhancement proposal window?
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 25, 2008, 01:37 UTC
- Message-ID
- <7vir0dsto4.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.LFD.1.00.0802241226340.21332@woody.linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 8 quoted lines
> 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@pobox.com> --- 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; }