[PATCH 5/5] diff --stat: do not count "unmerged" entries
flat view
STALE3770d
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:26
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- diff.c | 6 ++++-- t/t4049-diff-stat-count.sh | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/diff.c b/diff.c
index 4105260..26ede82 100644
--- a/diff.c
+++ b/diff.c@@ -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; }
diff --git a/t/t4049-diff-stat-count.sh b/t/t4049-diff-stat-count.sh
index 70ee073..37f50cd 100755
--- a/t/t4049-diff-stat-count.sh
+++ b/t/t4049-diff-stat-count.sh@@ -44,7 +44,7 @@ test_expect_success 'binary changes do not count in lines' ' test_i18ncmp expect actual ' -test_expect_failure 'exclude unmerged entries from total file count' ' +test_expect_success 'exclude unmerged entries from total file count' ' git reset --hard && echo a >a && echo b >b &&
--
1.8.0.1.331.g808d2af