(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'reflog walk shows repeated commits again' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup commits' span_id:17))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:22) 
          (Token
            id: Id.Lit_Chars
            val: '\techo content >file && git add file && git commit -m one &&\n'
            span_id: 23
          ) (Token id:Id.Lit_Chars val:'\tgit tag one &&\n' span_id:24) 
          (Token
            id: Id.Lit_Chars
            val: '\techo content >>file && git add file && git commit -m two &&\n'
            span_id: 25
          ) (Token id:Id.Lit_Chars val:'\tgit tag two\n' span_id:26)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'setup reflog with alternating commits' span_id:33))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b topic &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\tgit reset one &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\tgit reset two &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit reset one &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\tgit reset two\n' span_id:42)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reflog shows all entries' span_id:49))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:53) 
          (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\t\ttopic@{0} reset: moving to two\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'\t\ttopic@{1} reset: moving to one\n' span_id:56) (Token id:Id.Lit_Chars val:'\t\ttopic@{2} reset: moving to two\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\t\ttopic@{3} reset: moving to one\n' span_id:58) (Token id:Id.Lit_Chars val:'\t\ttopic@{4} branch: Created from HEAD\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:60) (Token id:Id.Lit_Chars val:'\tgit log -g --format="%gd %gs" topic >actual &&\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:62)
        )
      }
    )
    (C {(test_done)})
  ]
)