(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'reflog walk shows repeated commits again'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <'setup commits'>)} 
      {
        (SQ <'\n'> <'\ttest_tick &&\n'> 
          <'\techo content >file && git add file && git commit -m one &&\n'> <'\tgit tag one &&\n'> <'\techo content >>file && git add file && git commit -m two &&\n'> 
          <'\tgit tag two\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup reflog with alternating commits'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b topic &&\n'> <'\tgit reset one &&\n'> <'\tgit reset two &&\n'> 
          <'\tgit reset one &&\n'> <'\tgit reset two\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'reflog shows all entries'>)} 
      {
        (SQ <'\n'> <'\tcat >expect <<-\\EOF &&\n'> <'\t\ttopic@{0} reset: moving to two\n'> 
          <'\t\ttopic@{1} reset: moving to one\n'> <'\t\ttopic@{2} reset: moving to two\n'> <'\t\ttopic@{3} reset: moving to one\n'> 
          <'\t\ttopic@{4} branch: Created from HEAD\n'> <'\tEOF\n'> <'\tgit log -g --format="%gd %gs" topic >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)