(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 reset in a bare repository'>)}
        )
      ]
      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 non-bare'>)}
        {
          (SQ <'\n'> <'\techo one >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m one &&\n'> 
            <'\techo two >file &&\n'> <'\tgit commit -a -m two\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"hard" reset requires a worktree'>)}
        {(SQ <'\n'> <'\t(cd .git &&\n'> <'\t test_must_fail git reset --hard)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"merge" reset requires a worktree'>)}
        {(SQ <'\n'> <'\t(cd .git &&\n'> <'\t test_must_fail git reset --merge)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"keep" reset requires a worktree'>)}
        {(SQ <'\n'> <'\t(cd .git &&\n'> <'\t test_must_fail git reset --keep)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"mixed" reset is ok'>)}
        {(SQ <'\n'> <'\t(cd .git && git reset)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"soft" reset is ok'>)}
        {(SQ <'\n'> <'\t(cd .git && git reset --soft)\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'hard reset works with GIT_WORK_TREE'>)}
        {
          (SQ <'\n'> <'\tmkdir worktree &&\n'> 
            <'\tGIT_WORK_TREE=$PWD/worktree GIT_DIR=$PWD/.git git reset --hard &&\n'> <'\ttest_cmp file worktree/file\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup bare'>)}
        {(SQ <'\n'> <'\tgit clone --bare . bare.git &&\n'> <'\tcd bare.git\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"hard" reset is not allowed in bare'>)}
        {(SQ <'\n'> <'\ttest_must_fail git reset --hard HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"merge" reset is not allowed in bare'>)}
        {(SQ <'\n'> <'\ttest_must_fail git reset --merge HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"keep" reset is not allowed in bare'>)}
        {(SQ <'\n'> <'\ttest_must_fail git reset --keep HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"mixed" reset is not allowed in bare'>)}
        {(SQ <'\n'> <'\ttest_must_fail git reset --mixed HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'"soft" reset is allowed in bare'>)}
        {
          (SQ <'\n'> <'\tgit reset --soft HEAD^ &&\n'> 
            <'\ttest "$(git show --pretty=format:%s | head -n 1)" = "one"\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)