(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)}) ] )