зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
a20d3c0de1
Коммит
82dfc2c44e
6
diff.c
6
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;
|
||||
}
|
||||
|
|
|
@ -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 &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче