(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git reset should work on unborn branch'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <setup>)} {(SQ <'\n'> <'\techo a >a &&\n'> <'\techo b >b\n'>)})
    (C {(test_expect_success)} {(SQ <reset>)} 
      {
        (SQ <'\n'> <'\tgit add a b &&\n'> <'\tgit reset &&\n'> <'\n'> <'\t>expect &&\n'> 
          <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'reset HEAD'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a b &&\n'> <'\ttest_must_fail git reset HEAD\n'>)
      }
    )
    (C {(test_expect_success)} {(SQ <'reset $file'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a b &&\n'> <'\tgit reset a &&\n'> <'\n'> 
          <'\techo b >expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(PERL)} {(SQ <'reset -p'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> <'\techo y >yes &&\n'> 
          <'\tgit reset -p <yes >output &&\n'> <'\n'> <'\t>expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual &&\n'> 
          <'\ttest_i18ngrep "Unstage" output\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'reset --soft is a no-op'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> <'\tgit reset --soft &&\n'> <'\n'> 
          <'\techo a >expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'reset --hard'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> 
          <'\ttest_when_finished "echo a >a" &&\n'> <'\tgit reset --hard &&\n'> <'\n'> <'\t>expect &&\n'> <'\tgit ls-files >actual &&\n'> 
          <'\ttest_cmp expect actual &&\n'> <'\ttest_path_is_missing a\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)