提交 2b0b551d 编写于 作者: J Junio C Hamano

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: NJunio C Hamano <gitster@pobox.com>
上级 7df7c019
...@@ -1016,7 +1016,10 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons ...@@ -1016,7 +1016,10 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons
this = gather_dirstat(dir, changed, f->name, newbaselen); this = gather_dirstat(dir, changed, f->name, newbaselen);
sources++; sources++;
} else { } else {
this = f->added + f->deleted; if (f->is_unmerged || f->is_binary)
this = 0;
else
this = f->added + f->deleted;
dir->files++; dir->files++;
dir->nr--; dir->nr--;
sources += 2; sources += 2;
...@@ -1053,6 +1056,8 @@ static void show_dirstat(struct diffstat_t *data, struct diff_options *options) ...@@ -1053,6 +1056,8 @@ static void show_dirstat(struct diffstat_t *data, struct diff_options *options)
/* Calculate total changes */ /* Calculate total changes */
changed = 0; changed = 0;
for (i = 0; i < data->nr; i++) { 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]->added;
changed += data->files[i]->deleted; changed += data->files[i]->deleted;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册