(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <"git checkout-index test.\n"> <"\n"> 
                <"This test registers the following filesystem structure in the\n"> <"cache:\n"> <"\n"> <"    path0       - a file\n"> <"    path1/file1 - a file in a directory\n"> <"\n"> 
                <"And then tries to checkout in a work tree that has the following:\n"> <"\n"> <"    path0/file0 - a file in a directory\n"> <"    path1       - a file\n"> <"\n"> 
                <"The git checkout-index command should fail when attempting to checkout\n"> <"path0, finding it is occupied by a directory, and path1/file1, finding\n"> 
                <"path1 is occupied by a non-directory.  With \"-f\" flag, it should remove\n"> <"the conflicting paths and succeed.\n">
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[41])]
    )
    (C {(mkdir)} {(path1)})
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path1/file1)} spids:[50])]
    )
    (C {(test_expect_success)} {(SQ <"git update-index --add various paths.">)} 
      {(SQ <"git update-index --add path0 path1/file1">)}
    )
    (C {(rm)} {(-fr)} {(path0)} {(path1)})
    (C {(mkdir)} {(path0)})
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0/file0)} spids:[83])]
    )
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path1)} spids:[88])]
    )
    (C {(test_expect_success)} 
      {(SQ <"git checkout-index without -f should fail on conflicting work tree.">)} {(SQ <"test_must_fail git checkout-index -a">)}
    )
    (C {(test_expect_success)} {(SQ <"git checkout-index with -f should succeed.">)} 
      {(SQ <"git checkout-index -f -a">)}
    )
    (C {(test_expect_success)} {(SQ <"git checkout-index conflicting paths.">)} 
      {(SQ <"test -f path0 && test -d path1 && test -f path1/file1">)}
    )
    (C {(test_expect_success)} {(SYMLINKS)} {(SQ <"checkout-index -f twice with --prefix">)} 
      {
        (SQ <"\n"> <"\tmkdir -p tar/get &&\n"> <"\tln -s tar/get there &&\n"> <"\techo first &&\n"> 
          <"\tgit checkout-index -a -f --prefix=there/ &&\n"> <"\techo second &&\n"> <"\tgit checkout-index -a -f --prefix=there/\n">
        )
      }
    )
    (C {(test_done)})
  ]
)