#!/bin/sh global test_description := ''diff --exit-code with whitespace'' source ./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 (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"diff --exit-code with whitespace">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\tmkdir a b &&\n"> <"\techo >c &&\n"> <"\techo >a/d &&\n"> <"\techo >b/e &&\n"> <"\tgit add . &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m initial &&\n"> <"\techo \" \" >a/d &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -a -m second &&\n"> <"\techo \" \" >a/d &&\n"> <"\techo \" \" >b/e &&\n"> <"\tgit add a/d\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-tree --exit-code">)} { (SQ <"\n"> <"\ttest_must_fail git diff --exit-code HEAD^ HEAD &&\n"> <"\ttest_must_fail git diff-tree --exit-code HEAD^ HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-tree -b --exit-code">)} { (SQ <"\n"> <"\tgit diff -b --exit-code HEAD^ HEAD &&\n"> <"\tgit diff-tree -b -p --exit-code HEAD^ HEAD &&\n"> <"\tgit diff-tree -b --exit-code HEAD^ HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-index --cached --exit-code">)} { (SQ <"\n"> <"\ttest_must_fail git diff --cached --exit-code HEAD &&\n"> <"\ttest_must_fail git diff-index --cached --exit-code HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-index -b -p --cached --exit-code">)} { (SQ <"\n"> <"\tgit diff -b --cached --exit-code HEAD &&\n"> <"\tgit diff-index -b -p --cached --exit-code HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-index --exit-code">)} { (SQ <"\n"> <"\ttest_must_fail git diff --exit-code HEAD &&\n"> <"\ttest_must_fail git diff-index --exit-code HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-index -b -p --exit-code">)} { (SQ <"\n"> <"\tgit diff -b --exit-code HEAD &&\n"> <"\tgit diff-index -b -p --exit-code HEAD\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-files --exit-code">)} { (SQ <"\n"> <"\ttest_must_fail git diff --exit-code &&\n"> <"\ttest_must_fail git diff-files --exit-code\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-files -b -p --exit-code">)} {(SQ <"\n"> <"\tgit diff -b --exit-code &&\n"> <"\tgit diff-files -b -p --exit-code\n">)} ) (C {(test_expect_success)} {(SQ <"diff-files --diff-filter --quiet">)} { (SQ <"\n"> <"\tgit reset --hard &&\n"> <"\trm a/d &&\n"> <"\techo x >>b/e &&\n"> <"\ttest_must_fail git diff-files --diff-filter=M --quiet\n"> ) } ) (C {(test_expect_success)} {(SQ <"diff-tree --diff-filter --quiet">)} { (SQ <"\n"> <"\tgit commit -a -m \"worktree state\" &&\n"> <"\ttest_must_fail git diff-tree --diff-filter=M --quiet HEAD^ HEAD\n"> ) } ) (C {(test_done)}) ] )