(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git apply should not get confused with type changes.\n'> <'\n'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup repository and commits'>)}
        {
          (SQ <'\n'> <'\techo "hello world" > foo &&\n'> <'\techo "hi planet" > bar &&\n'> 
            <'\tgit update-index --add foo bar &&\n'> <'\tgit commit -m initial &&\n'> <'\tgit branch initial &&\n'> <'\trm -f foo &&\n'> 
            <'\ttest_ln_s_add bar foo &&\n'> <'\tgit commit -m "foo symlinked to bar" &&\n'> <'\tgit branch foo-symlinked-to-bar &&\n'> 
            <'\tgit rm -f foo &&\n'> <'\techo "how far is the sun?" > foo &&\n'> <'\tgit update-index --add foo &&\n'> 
            <'\tgit commit -m "foo back to file" &&\n'> <'\tgit branch foo-back-to-file &&\n'> <'\tprintf "\\0" > foo &&\n'> <'\tgit update-index foo &&\n'> 
            <'\tgit commit -m "foo becomes binary" &&\n'> <'\tgit branch foo-becomes-binary &&\n'> <'\trm -f foo &&\n'> <'\tgit update-index --remove foo &&\n'> 
            <'\tmkdir foo &&\n'> <'\techo "if only I knew" > foo/baz &&\n'> <'\tgit update-index --add foo/baz &&\n'> 
            <'\tgit commit -m "foo becomes a directory" &&\n'> <'\tgit branch "foo-becomes-a-directory" &&\n'> <'\techo "hello world" > foo/baz &&\n'> 
            <'\tgit update-index foo/baz &&\n'> <'\tgit commit -m "foo/baz is the original foo" &&\n'> <'\tgit branch foo-baz-renamed-from-foo\n'> 
            <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'file renamed from foo to foo/baz'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f initial &&\n'> 
            <'\tgit diff-tree -M -p HEAD foo-baz-renamed-from-foo > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'file renamed from foo/baz to foo'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-baz-renamed-from-foo &&\n'> 
            <'\tgit diff-tree -M -p HEAD initial > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'directory becomes file'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-becomes-a-directory &&\n'> 
            <'\tgit diff-tree -p HEAD initial > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'file becomes directory'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f initial &&\n'> 
            <'\tgit diff-tree -p HEAD foo-becomes-a-directory > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'file becomes symlink'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f initial &&\n'> 
            <'\tgit diff-tree -p HEAD foo-symlinked-to-bar > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'symlink becomes file'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-symlinked-to-bar &&\n'> 
            <'\tgit diff-tree -p HEAD foo-back-to-file > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'binary file becomes symlink'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-becomes-binary &&\n'> 
            <'\tgit diff-tree -p --binary HEAD foo-symlinked-to-bar > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'symlink becomes binary file'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-symlinked-to-bar &&\n'> 
            <'\tgit diff-tree -p --binary HEAD foo-becomes-binary > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'symlink becomes directory'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-symlinked-to-bar &&\n'> 
            <'\tgit diff-tree -p HEAD foo-becomes-a-directory > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'directory becomes symlink'>)}
        {
          (SQ <'\n'> <'\tgit checkout -f foo-becomes-a-directory &&\n'> 
            <'\tgit diff-tree -p HEAD foo-symlinked-to-bar > patch &&\n'> <'\tgit apply --index < patch\n'> <'\t'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'cat patch'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)