#!/bin/sh # Copyright (c) 2011, Google Inc. test_description='diff --stat-count' TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh test_expect_success 'setup' ' >a && >b && >c && >d && git add a b c d && git commit -m initial ' test_expect_success 'mode-only change show as a 0-line change' ' git reset --hard && test_chmod +x b d && echo a >a && echo c >c && cat >expect <<-\EOF && a | 1 + b | 0 ... 4 files changed, 2 insertions(+) EOF git diff --stat --stat-count=2 HEAD >actual && test_cmp expect actual ' test_expect_success 'binary changes do not count in lines' ' git reset --hard && echo a >a && echo c >c && cat "$TEST_DIRECTORY"/test-binary-1.png >d && cat >expect <<-\EOF && a | 1 + c | 1 + ... 3 files changed, 2 insertions(+) EOF git diff --stat --stat-count=2 >actual && test_cmp expect actual ' test_expect_success 'exclude unmerged entries from total file count' ' git reset --hard && echo a >a && echo b >b && git ls-files -s a >x && git rm -f d && for stage in 1 2 3 do sed -e "s/ 0 a/ $stage d/" x done | git update-index --index-info && echo d >d && cat >expect <<-\EOF && a | 1 + b | 1 + ... 3 files changed, 3 insertions(+) EOF git diff --stat --stat-count=2 >actual && test_cmp expect actual ' test_done