(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:16777215 arg_word:{(path0)} spids:[41])]
    )
    (C {(mkdir)} {(path1)})
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 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:16777215 arg_word:{(path0/file0)} spids:[83])]
    )
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 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)})
  ]
)