(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"skip-worktree bit test">)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(sane_unset)} {(GIT_TEST_SPLIT_INDEX)})
    (C {(test_set_index_version)} {(3)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expect.full)} spids:[36])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ("H 1\n") ("H 2\n") ("H sub/1\n") ("H sub/2\n"))}
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [39]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expect.skip)} spids:[49])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ("S 1\n") ("H 2\n") ("S sub/1\n") ("H sub/2\n"))}
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [52]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <setup>)} 
      {
        (SQ <"\n"> <"\tmkdir sub &&\n"> <"\ttouch ./1 ./2 sub/1 sub/2 &&\n"> 
          <"\tgit add 1 2 sub/1 sub/2 &&\n"> <"\tgit ls-files -t | test_cmp expect.full -\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"index is at version 2">)} 
      {(SQ <"\n"> <"\ttest \"$(test-index-version < .git/index)\" = 2\n">)}
    )
    (C {(test_expect_success)} {(SQ <"update-index --skip-worktree">)} 
      {
        (SQ <"\n"> <"\tgit update-index --skip-worktree 1 sub/1 &&\n"> 
          <"\tgit ls-files -t | test_cmp expect.skip -\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"index is at version 3 after having some skip-worktree entries">)} 
      {(SQ <"\n"> <"\ttest \"$(test-index-version < .git/index)\" = 3\n">)}
    )
    (C {(test_expect_success)} {(SQ <"ls-files -t">)} 
      {(SQ <"\n"> <"\tgit ls-files -t | test_cmp expect.skip -\n">)}
    )
    (C {(test_expect_success)} {(SQ <"update-index --no-skip-worktree">)} 
      {
        (SQ <"\n"> <"\tgit update-index --no-skip-worktree 1 sub/1 &&\n"> 
          <"\tgit ls-files -t | test_cmp expect.full -\n">
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <"index version is back to 2 when there is no skip-worktree entry">)} {(SQ <"\n"> <"\ttest \"$(test-index-version < .git/index)\" = 2\n">)}
    )
    (C {(test_done)})
  ]
)