]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t4015-diff-whitespace.sh
diff: teach --stat to ignore uninteresting modifications
[thirdparty/git.git] / t / t4015-diff-whitespace.sh
index 88d3026894f87f4d86cb6f4178898b6879630e73..8bdaa0a693fa52adf2314d5777a195d035d6009c 100755 (executable)
@@ -789,7 +789,7 @@ test_expect_success 'checkdiff allows new blank lines' '
        git diff --check
 '
 
-test_expect_success 'whitespace-only changes not reported' '
+test_expect_success 'whitespace-only changes not reported (diff)' '
        git reset --hard &&
        echo >x "hello world" &&
        git add x &&
@@ -799,10 +799,44 @@ test_expect_success 'whitespace-only changes not reported' '
        test_must_be_empty actual
 '
 
-test_expect_success 'whitespace-only changes reported across renames' '
+test_expect_success 'whitespace-only changes not reported (diffstat)' '
+       # reuse state from previous test
+       git diff --stat -b >actual &&
+       test_must_be_empty actual
+'
+
+test_expect_success 'whitespace changes with modification reported (diffstat)' '
+       git reset --hard &&
+       echo >x "hello  world" &&
+       git update-index --chmod=+x x &&
+       git diff --stat --cached -b >actual &&
+       cat <<-EOF >expect &&
+        x | 0
+        1 file changed, 0 insertions(+), 0 deletions(-)
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'whitespace-only changes reported across renames (diffstat)' '
        git reset --hard &&
        for i in 1 2 3 4 5 6 7 8 9; do echo "$i$i$i$i$i$i"; done >x &&
        git add x &&
+       git commit -m "base" &&
+       sed -e "5s/^/ /" x >z &&
+       git rm x &&
+       git add z &&
+       git diff -w -M --cached --stat >actual &&
+       cat <<-EOF >expect &&
+        x => z | 0
+        1 file changed, 0 insertions(+), 0 deletions(-)
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'whitespace-only changes reported across renames' '
+       git reset --hard HEAD~1 &&
+       for i in 1 2 3 4 5 6 7 8 9; do echo "$i$i$i$i$i$i"; done >x &&
+       git add x &&
        hash_x=$(git hash-object x) &&
        before=$(git rev-parse --short "$hash_x") &&
        git commit -m "base" &&