diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-03-06 15:02:28 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-03-06 15:02:29 -0800 |
commit | b6488fe191c3bff0dee39cfd2a7082dd52159c47 (patch) | |
tree | 53084ec8cdbc7d2d5bb0d9ae5dce23c5359ee122 | |
parent | Merge branch 'mg/doc-remote-tags-or-not' (diff) | |
parent | diff --shortstat --dirstat: remove duplicate output (diff) | |
download | tgif-b6488fe191c3bff0dee39cfd2a7082dd52159c47.tar.xz |
Merge branch 'mk/diff-shortstat-dirstat-fix'
"git diff --shortstat --dirstat=changes" showed a dirstat based on
lines that was never asked by the end user in addition to the
dirstat that the user asked for.
* mk/diff-shortstat-dirstat-fix:
diff --shortstat --dirstat: remove duplicate output
-rw-r--r-- | diff.c | 2 | ||||
-rwxr-xr-x | t/t4047-diff-dirstat.sh | 14 |
2 files changed, 15 insertions, 1 deletions
@@ -4541,7 +4541,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++; diff --git a/t/t4047-diff-dirstat.sh b/t/t4047-diff-dirstat.sh index ed7e093366..0d50dce97e 100755 --- a/t/t4047-diff-dirstat.sh +++ b/t/t4047-diff-dirstat.sh @@ -973,4 +973,18 @@ test_expect_success 'diff.dirstat=future_param,0,lines should warn, but still wo test_i18ngrep -q "diff\\.dirstat" actual_error ' +test_expect_success '--shortstat --dirstat should output only one dirstat' ' + git diff --shortstat --dirstat=changes HEAD^..HEAD >out && + grep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_changes && + test_line_count = 1 actual_diff_shortstat_dirstat_changes && + + git diff --shortstat --dirstat=lines HEAD^..HEAD >out && + grep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_lines && + test_line_count = 1 actual_diff_shortstat_dirstat_lines && + + git diff --shortstat --dirstat=files HEAD^..HEAD >out && + grep " dst/copy/changed/$" out >actual_diff_shortstat_dirstat_files && + test_line_count = 1 actual_diff_shortstat_dirstat_files +' + test_done |