(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          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">
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[32])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("tree ") ($ VSub_Name "$EMPTY_TREE") ("\n") 
                ("author Author Name <author@email> 1117148400 +0000\n") ("committer Committer Name <committer@email> 1117150200 +0000\n") ("\n") ("comment text\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [35]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"test preparation: write empty tree">)} 
      {(SQ <"git write-tree >treeid">)}
    )
    (C {(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">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"read commit">)} 
      {(SQ <"git cat-file commit $(cat commitid) >commit">)}
    )
    (C {(test_expect_success)} {(SQ <"compare commit">)} {(SQ <"test_cmp expected commit">)})
    (C {(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">
        )
      }
    )
    (C {(test_done)})
  ]
)