(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'sparse checkout scope tests'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <setup>)} 
      {
        (SQ <'\n'> <'\techo "initial" >a &&\n'> <'\techo "initial" >b &&\n'> 
          <'\techo "initial" >c &&\n'> <'\tgit add a b c &&\n'> <'\tgit commit -m "initial commit"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'create feature branch'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b feature &&\n'> <'\techo "modified" >b &&\n'> 
          <'\techo "modified" >c &&\n'> <'\tgit add b c &&\n'> <'\tgit commit -m "modification"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'perform sparse checkout of master'>)} 
      {
        (SQ <'\n'> <'\tgit config --local --bool core.sparsecheckout true &&\n'> 
          <'\techo "!/*" >.git/info/sparse-checkout &&\n'> <'\techo "/a" >>.git/info/sparse-checkout &&\n'> <'\techo "/c" >>.git/info/sparse-checkout &&\n'> 
          <'\tgit checkout master &&\n'> <'\ttest_path_is_file a &&\n'> <'\ttest_path_is_missing b &&\n'> <'\ttest_path_is_file c\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'merge feature branch into sparse checkout of master'>)} 
      {
        (SQ <'\n'> <'\tgit merge feature &&\n'> <'\ttest_path_is_file a &&\n'> 
          <'\ttest_path_is_missing b &&\n'> <'\ttest_path_is_file c &&\n'> <'\ttest "$(cat c)" = "modified"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'return to full checkout of master'>)} 
      {
        (SQ <'\n'> <'\tgit checkout feature &&\n'> <'\techo "/*" >.git/info/sparse-checkout &&\n'> 
          <'\tgit checkout master &&\n'> <'\ttest_path_is_file a &&\n'> <'\ttest_path_is_file b &&\n'> <'\ttest_path_is_file c &&\n'> 
          <'\ttest "$(cat b)" = "modified"\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)