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