diff --stat-count: finishing touches
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
86e1ce96d7
commit
e5f85df87e
6
diff.c
6
diff.c
@ -1247,6 +1247,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
|
||||
int width, name_width, count;
|
||||
const char *reset, *add_c, *del_c;
|
||||
const char *line_prefix = "";
|
||||
int extra_shown = 0;
|
||||
struct strbuf *msg = NULL;
|
||||
|
||||
if (data->nr == 0)
|
||||
@ -1376,8 +1377,6 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
|
||||
show_graph(options->file, '-', del, del_c, reset);
|
||||
fprintf(options->file, "\n");
|
||||
}
|
||||
if (count < data->nr)
|
||||
fprintf(options->file, "%s ...\n", line_prefix);
|
||||
for (i = count; i < data->nr; i++) {
|
||||
uintmax_t added = data->files[i]->added;
|
||||
uintmax_t deleted = data->files[i]->deleted;
|
||||
@ -1388,6 +1387,9 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
|
||||
}
|
||||
adds += added;
|
||||
dels += deleted;
|
||||
if (!extra_shown)
|
||||
fprintf(options->file, "%s ...\n", line_prefix);
|
||||
extra_shown = 1;
|
||||
}
|
||||
fprintf(options->file, "%s", line_prefix);
|
||||
fprintf(options->file,
|
||||
|
25
t/t4049-diff-stat-count.sh
Executable file
25
t/t4049-diff-stat-count.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
# Copyright (c) 2011, Google Inc.
|
||||
|
||||
test_description='diff --stat-count'
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
>a &&
|
||||
>b &&
|
||||
>c &&
|
||||
>d &&
|
||||
git add a b c d &&
|
||||
chmod +x c d &&
|
||||
echo a >a &&
|
||||
echo b >b &&
|
||||
cat >expect <<-\EOF
|
||||
a | 1 +
|
||||
b | 1 +
|
||||
2 files changed, 2 insertions(+), 0 deletions(-)
|
||||
EOF
|
||||
git diff --stat --stat-count=2 >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Reference in New Issue
Block a user