diff options
author | Alexander Strasser <eclipse7@gmx.net> | 2012-06-15 23:50:30 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-06-15 15:00:04 -0700 |
commit | de9658b511377e9eaa2c58a8c3885a1a01b94be8 (patch) | |
tree | 4cdba7ec3c345e2e6f63a54fa8cce5c5cfcfa0fb | |
parent | e18872b2f0fba4cb860c9350bb8b8d8680dfc83b (diff) | |
download | git-de9658b511377e9eaa2c58a8c3885a1a01b94be8.tar.gz |
diff: Only count lines in show_shortstats
Do not mix byte and line counts. Binary files have byte counts;
skip them when accumulating line insertions/deletions.
The regression was introduced in e18872b.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | diff.c | 2 | ||||
-rwxr-xr-x | t/t4012-diff-binary.sh | 12 |
2 files changed, 13 insertions, 1 deletions
@@ -1668,7 +1668,7 @@ static void show_shortstats(struct diffstat_t *data, struct diff_options *option continue; if (!data->files[i]->is_renamed && (added + deleted == 0)) { total_files--; - } else { + } else if (!data->files[i]->is_binary) { /* don't count bytes */ adds += added; dels += deleted; } diff --git a/t/t4012-diff-binary.sh b/t/t4012-diff-binary.sh index ed24ddd88a..e6379f2d82 100755 --- a/t/t4012-diff-binary.sh +++ b/t/t4012-diff-binary.sh @@ -36,6 +36,18 @@ test_expect_success '"apply --stat" output for binary file change' ' test_i18ncmp expected current ' +test_expect_success 'diff --shortstat output for binary file change' ' + echo " 4 files changed, 2 insertions(+), 2 deletions(-)" >expected && + git diff --shortstat >current && + test_i18ncmp expected current +' + +test_expect_success 'diff --shortstat output for binary file change only' ' + echo " 1 file changed, 0 insertions(+), 0 deletions(-)" >expected && + git diff --shortstat -- b >current && + test_i18ncmp expected current +' + test_expect_success 'apply --numstat notices binary file change' ' git diff >diff && git apply --numstat <diff >current && |