Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diff --dirstat: saner handling of binary and unmerged files
author
Junio C Hamano
<gitster@pobox.com>
Mon, 25 Feb 2008 01:37:15 +0000
(17:37 -0800)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 25 Feb 2008 01:39:10 +0000
(17:39 -0800)
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
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
7df7c01
)
diff --git
a/diff.c
b/diff.c
index dd374d436f0220acb1a42384c047480279e25dde..bcc323f19fd5878776fecde7074e230c61667de6 100644
(file)
--- 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 = 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;
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++) {
/* 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;
}
changed += data->files[i]->added;
changed += data->files[i]->deleted;
}