(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'Return value of diffs'>)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <'\n'> <'\techo 1 >a &&\n'> <'\tgit add . &&\n'> <'\tgit commit -m first &&\n'> <'\techo 2 >b &&\n'> <'\tgit add . &&\n'> <'\tgit commit -a -m second &&\n'> <'\tmkdir -p test-outside/repo && (\n'> <'\t\tcd test-outside/repo &&\n'> <'\t\tgit init &&\n'> <'\t\techo "1 1" >a &&\n'> <'\t\tgit add . &&\n'> <'\t\tgit commit -m 1\n'> <'\t) &&\n'> <'\tmkdir -p test-outside/non/git && (\n'> <'\t\tcd test-outside/non/git &&\n'> <'\t\techo "1 1" >a &&\n'> <'\t\techo "1 1" >matching-file &&\n'> <'\t\techo "1 1 " >trailing-space &&\n'> <'\t\techo "1 1" >extra-space &&\n'> <'\t\techo "2" >never-match\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree HEAD^ HEAD'>)} { (SQ <'\n'> <'\ttest_expect_code 1 git diff-tree --quiet HEAD^ HEAD >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree HEAD^ HEAD -- a'>)} { (SQ <'\n'> <'\ttest_expect_code 0 git diff-tree --quiet HEAD^ HEAD -- a >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree HEAD^ HEAD -- b'>)} { (SQ <'\n'> <'\ttest_expect_code 1 git diff-tree --quiet HEAD^ HEAD -- b >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'echo HEAD | git diff-tree --stdin'>)} { (SQ <'\n'> <'\techo $(git rev-parse HEAD) |\n'> <'\ttest_expect_code 1 git diff-tree --quiet --stdin >cnt &&\n'> <'\ttest_line_count = 1 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree HEAD HEAD'>)} { (SQ <'\n'> <'\ttest_expect_code 0 git diff-tree --quiet HEAD HEAD >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-files'>)} { (SQ <'\n'> <'\ttest_expect_code 0 git diff-files --quiet >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-index --cached HEAD'>)} { (SQ <'\n'> <'\ttest_expect_code 0 git diff-index --quiet --cached HEAD >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-index --cached HEAD^'>)} { (SQ <'\n'> <'\ttest_expect_code 1 git diff-index --quiet --cached HEAD^ >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-index --cached HEAD^'>)} { (SQ <'\n'> <'\techo text >>b &&\n'> <'\techo 3 >c &&\n'> <'\tgit add . &&\n'> <'\ttest_expect_code 1 git diff-index --quiet --cached HEAD^ >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree -Stext HEAD^ HEAD -- b'>)} { (SQ <'\n'> <'\tgit commit -m "text in b" &&\n'> <'\ttest_expect_code 1 git diff-tree --quiet -Stext HEAD^ HEAD -- b >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-tree -Snot-found HEAD^ HEAD -- b'>)} { (SQ <'\n'> <'\ttest_expect_code 0 git diff-tree --quiet -Snot-found HEAD^ HEAD -- b >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-files'>)} { (SQ <'\n'> <'\techo 3 >>c &&\n'> <'\ttest_expect_code 1 git diff-files --quiet >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff-index --cached HEAD'>)} { (SQ <'\n'> <'\tgit update-index c &&\n'> <'\ttest_expect_code 1 git diff-index --quiet --cached HEAD >cnt &&\n'> <'\ttest_line_count = 0 cnt\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff, one file outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd test-outside/repo &&\n'> <'\t\ttest_expect_code 0 git diff --quiet a ../non/git/matching-file &&\n'> <'\t\ttest_expect_code 1 git diff --quiet a ../non/git/extra-space\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff, both files outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tGIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" &&\n'> <'\t\texport GIT_CEILING_DIRECTORIES &&\n'> <'\t\tcd test-outside/non/git &&\n'> <'\t\ttest_expect_code 0 git diff --quiet a matching-file &&\n'> <'\t\ttest_expect_code 1 git diff --quiet a extra-space\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff --ignore-space-at-eol, one file outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd test-outside/repo &&\n'> < '\t\ttest_expect_code 0 git diff --quiet --ignore-space-at-eol a ../non/git/trailing-space &&\n' > <'\t\ttest_expect_code 1 git diff --quiet --ignore-space-at-eol a ../non/git/extra-space\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff --ignore-space-at-eol, both files outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tGIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" &&\n'> <'\t\texport GIT_CEILING_DIRECTORIES &&\n'> <'\t\tcd test-outside/non/git &&\n'> <'\t\ttest_expect_code 0 git diff --quiet --ignore-space-at-eol a trailing-space &&\n'> <'\t\ttest_expect_code 1 git diff --quiet --ignore-space-at-eol a extra-space\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff --ignore-all-space, one file outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd test-outside/repo &&\n'> < '\t\ttest_expect_code 0 git diff --quiet --ignore-all-space a ../non/git/trailing-space &&\n' > <'\t\ttest_expect_code 0 git diff --quiet --ignore-all-space a ../non/git/extra-space &&\n'> <'\t\ttest_expect_code 1 git diff --quiet --ignore-all-space a ../non/git/never-match\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff --ignore-all-space, both files outside repo'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tGIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/test-outside" &&\n'> <'\t\texport GIT_CEILING_DIRECTORIES &&\n'> <'\t\tcd test-outside/non/git &&\n'> <'\t\ttest_expect_code 0 git diff --quiet --ignore-all-space a trailing-space &&\n'> <'\t\ttest_expect_code 0 git diff --quiet --ignore-all-space a extra-space &&\n'> <'\t\ttest_expect_code 1 git diff --quiet --ignore-all-space a never-match\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'git diff --quiet ignores stat-change only entries'>)} { (SQ <'\n'> <'\ttest-chmtime +10 a &&\n'> <'\techo modified >>b &&\n'> <'\ttest_expect_code 1 git diff --quiet\n'> ) } ) (C {(test_done)}) ] )