diff --shortstat --dirstat: remove duplicate output
When --shortstat is used in conjunction with --dirstat=changes, git diff will
output the dirstat information twice: first as calculated by the 'lines'
algorithm, then as calculated by the 'changes' algorithm:
$ git diff --dirstat=changes,10 --shortstat v2.2.0..v2.2.1
23 files changed, 453 insertions(+), 54 deletions(-)
33.5% Documentation/RelNotes/
26.2% t/
46.6% Documentation/RelNotes/
16.6% t/
The same duplication happens for --shortstat together with --dirstat=files, but
not for --shortstat together with --dirstat=lines.
Limit output to only include one dirstat part, calculated as specified
by the --dirstat parameter. Also, add test for this.
Signed-off-by: Mårten Kongstad <marten.kongstad@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
282616c72d
commit
ab27389aff
2
diff.c
2
diff.c
@ -4528,7 +4528,7 @@ void diff_flush(struct diff_options *options)
|
||||
show_stats(&diffstat, options);
|
||||
if (output_format & DIFF_FORMAT_SHORTSTAT)
|
||||
show_shortstats(&diffstat, options);
|
||||
if (output_format & DIFF_FORMAT_DIRSTAT)
|
||||
if (output_format & DIFF_FORMAT_DIRSTAT && dirstat_by_line)
|
||||
show_dirstat_by_line(&diffstat, options);
|
||||
free_diffstat_info(&diffstat);
|
||||
separator++;
|
||||
|
||||
Reference in New Issue
Block a user