|  | #!/bin/sh | 
|  |  | 
|  | test_description='diff --exit-code with whitespace' | 
|  | . ./test-lib.sh | 
|  |  | 
|  | test_expect_success setup ' | 
|  | mkdir a b && | 
|  | echo >c && | 
|  | echo >a/d && | 
|  | echo >b/e && | 
|  | git add . && | 
|  | test_tick && | 
|  | git commit -m initial && | 
|  | echo " " >a/d && | 
|  | test_tick && | 
|  | git commit -a -m second && | 
|  | echo "  " >a/d && | 
|  | echo " " >b/e && | 
|  | git add a/d | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-tree --exit-code' ' | 
|  | test_must_fail git diff --exit-code HEAD^ HEAD && | 
|  | test_must_fail git diff-tree --exit-code HEAD^ HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-tree -b --exit-code' ' | 
|  | git diff -b --exit-code HEAD^ HEAD && | 
|  | git diff-tree -b -p --exit-code HEAD^ HEAD && | 
|  | git diff-tree -b --exit-code HEAD^ HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-index --cached --exit-code' ' | 
|  | test_must_fail git diff --cached --exit-code HEAD && | 
|  | test_must_fail git diff-index --cached --exit-code HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-index -b -p --cached --exit-code' ' | 
|  | git diff -b --cached --exit-code HEAD && | 
|  | git diff-index -b -p --cached --exit-code HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-index --exit-code' ' | 
|  | test_must_fail git diff --exit-code HEAD && | 
|  | test_must_fail git diff-index --exit-code HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-index -b -p --exit-code' ' | 
|  | git diff -b --exit-code HEAD && | 
|  | git diff-index -b -p --exit-code HEAD | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-files --exit-code' ' | 
|  | test_must_fail git diff --exit-code && | 
|  | test_must_fail git diff-files --exit-code | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-files -b -p --exit-code' ' | 
|  | git diff -b --exit-code && | 
|  | git diff-files -b -p --exit-code | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-files --diff-filter --quiet' ' | 
|  | git reset --hard && | 
|  | rm a/d && | 
|  | echo x >>b/e && | 
|  | test_must_fail git diff-files --diff-filter=M --quiet | 
|  | ' | 
|  |  | 
|  | test_expect_success 'diff-tree --diff-filter --quiet' ' | 
|  | git commit -a -m "worktree state" && | 
|  | test_must_fail git diff-tree --diff-filter=M --quiet HEAD^ HEAD | 
|  | ' | 
|  |  | 
|  | test_done |