(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 pull message generation'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'dollar='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'dollar='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dollar='> name:dollar)
          op: assign_op.Equal
          rhs: {(SQ <'$Dollar'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<setup>}
        {
          (SQ <'\n'> <'\ttest_commit initial afile original &&\n'> <'\tgit clone . cloned &&\n'> 
            <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\techo added >bfile &&\n'> <'\t\tgit add bfile &&\n'> <'\t\ttest_tick &&\n'> 
            <'\t\tgit commit -m "add bfile"\n'> <'\t) &&\n'> <'\ttest_tick && test_tick &&\n'> <'\techo "second" >afile &&\n'> <'\tgit add afile &&\n'> 
            <'\tgit commit -m "second commit" &&\n'> <'\techo "original $dollar" >afile &&\n'> <'\tgit add afile &&\n'> 
            <'\tgit commit -m "do not clobber $dollar signs"\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<pull>}
        {
          (SQ <'\n'> <'(\n'> <'\tcd cloned &&\n'> <'\tgit pull --log &&\n'> <'\tgit log -2 &&\n'> 
            <'\tgit cat-file commit HEAD >result &&\n'> <'\tgrep Dollar result\n'> <')\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--log=1 limits shortlog length'>)}
        {
          (SQ <'\n'> <'(\n'> <'\tcd cloned &&\n'> <'\tgit reset --hard HEAD^ &&\n'> 
            <'\ttest "$(cat afile)" = original &&\n'> <'\ttest "$(cat bfile)" = added &&\n'> <'\tgit pull --log=1 &&\n'> <'\tgit log -3 &&\n'> 
            <'\tgit cat-file commit HEAD >result &&\n'> <'\tgrep Dollar result &&\n'> <'\t! grep "second commit" result\n'> <')\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)