Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Instituting feature and infrastructure enhancement proposal window?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:16
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

Linus Torvalds [off-list ref] writes:
And on exactly that note:
quoted
 * 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 <redacted>
---
 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;
 	}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help