(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 commit-tree options test\n'> <'\n'> 
                <'This test checks that git commit-tree can create a specific commit\n'> <'object by defining all environment variables that it understands.\n'> <'\n'> 
                <'Also make sure that command line parser understands the normal\n'> <'"flags first and then non flag arguments" command line.\n'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expected>})
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'tree '>
                ($ Id.VSub_DollarName EMPTY_TREE)
                <'\n'>
                <'author Author Name <author@email> 1117148400 +0000\n'>
                <'committer Committer Name <committer@email> 1117150200 +0000\n'>
                <'\n'>
                <'comment text\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test preparation: write empty tree'>)}
        {(SQ <'git write-tree >treeid'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'construct commit'>)}
        {
          (SQ <'echo comment text |\n'> <'     GIT_AUTHOR_NAME="Author Name" \\\n'> 
            <'     GIT_AUTHOR_EMAIL="author@email" \\\n'> <'     GIT_AUTHOR_DATE="2005-05-26 23:00" \\\n'> <'     GIT_COMMITTER_NAME="Committer Name" \\\n'> 
            <'     GIT_COMMITTER_EMAIL="committer@email" \\\n'> <'     GIT_COMMITTER_DATE="2005-05-26 23:30" \\\n'> 
            <'     TZ=GMT git commit-tree $(cat treeid) >commitid 2>/dev/null'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'read commit'>)}
        {(SQ <'git cat-file commit $(cat commitid) >commit'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [{<test_expect_success>} {(SQ <'compare commit'>)} {(SQ <'test_cmp expected commit'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'flags and then non flags'>)}
        {
          (SQ <'\n'> <'\ttest_tick &&\n'> <'\techo comment text |\n'> 
            <'\tgit commit-tree $(cat treeid) >commitid &&\n'> <'\techo comment text |\n'> <'\tgit commit-tree $(cat treeid) -p $(cat commitid) >childid-1 &&\n'> 
            <'\techo comment text |\n'> <'\tgit commit-tree -p $(cat commitid) $(cat treeid) >childid-2 &&\n'> 
            <'\ttest_cmp childid-1 childid-2 &&\n'> <'\tgit commit-tree $(cat treeid) -m foo >childid-3 &&\n'> 
            <'\tgit commit-tree -m foo $(cat treeid) >childid-4 &&\n'> <'\ttest_cmp childid-3 childid-4\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)