diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-11-27 12:05:10 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-11-27 13:21:15 -0800 |
commit | 82dfc2c44ecda8a7afe417086c704b141a11cd58 (patch) | |
tree | b3be82aaf65709e70e1967db68ebfe889f6d23e1 /diff.c | |
parent | a20d3c0de1f107ddd719a4a9cec3addd56e8444f (diff) | |
download | git-82dfc2c44ecda8a7afe417086c704b141a11cd58.tar.gz |
diff --stat: do not count "unmerged" entries
Even though we show a separate *UNMERGED* entry in the patch and
diffstat output (or in the --raw format, for that matter) in
addition to and separately from the diff against the specified stage
(defaulting to #2) for unmerged paths, they should not be counted in
the total number of files affected---that would lead to counting the
same path twice.
The separation done by the previous step makes this fix simple and
straightforward. Among the filepairs in diff_queue, paths that
weren't modified, and the extra "unmerged" entries do not count as
total number of files.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1669,12 +1669,14 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options) struct diffstat_file *file = data->files[i]; uintmax_t added = file->added; uintmax_t deleted = file->deleted; - if (!file->is_interesting && (added + deleted == 0)) { + + if (file->is_unmerged || + (!file->is_interesting && (added + deleted == 0))) { total_files--; continue; } - if (!file->is_binary && !file->is_unmerged) { + if (!file->is_binary) { adds += added; dels += deleted; } |