(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 rev-list should notice bad commits'>)}
        )
      ]
      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>)}
        {
          (SQ <'\n'> <'   git init &&\n'> <'   git config core.compression 0 &&\n'> 
            <'   git config core.logallrefupdates false &&\n'> <'   echo "foo" > foo &&\n'> <'   git add foo &&\n'> <'   git commit -m "first commit" &&\n'> 
            <'   echo "bar" > bar &&\n'> <'   git add bar &&\n'> <'   git commit -m "second commit" &&\n'> <'   echo "baz" > baz &&\n'> 
            <'   git add baz &&\n'> <'   git commit -m "third commit" &&\n'> <'   echo "foo again" >> foo &&\n'> <'   git add foo &&\n'> 
            <'   git commit -m "fourth commit" &&\n'> <'   git repack -a -f -d\n'> <'   '>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'verify number of revisions'>)}
        {
          (SQ <'\n'> <'   revs=$(git rev-list --all | wc -l) &&\n'> <'   test $revs -eq 4 &&\n'> 
            <'   first_commit=$(git rev-parse HEAD~3)\n'> <'   '>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'corrupt second commit object'>)}
        {
          (SQ <'\n'> 
            <'   perl -i.bak -pe "s/second commit/socond commit/" .git/objects/pack/*.pack &&\n'> <'   test_must_fail git fsck --full\n'> <'   '>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'rev-list should fail'>)}
        {(SQ <'\n'> <'   test_must_fail git rev-list --all > /dev/null\n'> <'   '>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git repack _MUST_ fail'>)}
        {(SQ <'\n'> <'   test_must_fail git repack -a -f -d\n'> <'   '>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'first commit is still available'>)}
        {(SQ <'\n'> <'   git log $first_commit\n'> <'   '>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)