(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'Tests git rev-list --topo-order functionality'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ VSub_DollarName '$TEST_DIRECTORY')) (/lib-t6000.sh)})
    (command.FuncDef
      name: list_duplicates
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [(C {(DQ ($ VSub_At '$@'))}) (C {(sort)}) (C {(uniq)} {(-d)})]
              negated: F
            )
          ]
        )
    )
    (command.SimpleCommand
      words: [{(date)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(path0)})]
    )
    (C {(git)} {(update-index)} {(--add)} {(path0)})
    (C {(save_tag)} {(tree)} {(git)} {(write-tree)})
    (C {(on_dates)} {(DQ ('00:00'))} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(root)} {(unique_commit)} 
      {(root)} {(tree)}
    )
    (C {(on_dates)} {(DQ ('00:01'))} {(DQ ('00:01'))} {(save_tag)} {(l0)} {(unique_commit)} {(l0)} {(tree)} 
      {(-p)} {(root)}
    )
    (C {(on_dates)} {(DQ ('00:02'))} {(DQ ('00:02'))} {(save_tag)} {(l1)} {(unique_commit)} {(l1)} {(tree)} 
      {(-p)} {(l0)}
    )
    (C {(on_dates)} {(DQ ('00:03'))} {(DQ ('00:03'))} {(save_tag)} {(l2)} {(unique_commit)} {(l2)} {(tree)} 
      {(-p)} {(l1)}
    )
    (C {(on_dates)} {(DQ ('00:04'))} {(DQ ('00:04'))} {(save_tag)} {(a0)} {(unique_commit)} {(a0)} {(tree)} 
      {(-p)} {(l2)}
    )
    (C {(on_dates)} {(DQ ('00:05'))} {(DQ ('00:05'))} {(save_tag)} {(a1)} {(unique_commit)} {(a1)} {(tree)} 
      {(-p)} {(a0)}
    )
    (C {(on_dates)} {(DQ ('00:06'))} {(DQ ('00:06'))} {(save_tag)} {(b1)} {(unique_commit)} {(b1)} {(tree)} 
      {(-p)} {(a0)}
    )
    (C {(on_dates)} {(DQ ('00:07'))} {(DQ ('00:07'))} {(save_tag)} {(c1)} {(unique_commit)} {(c1)} {(tree)} 
      {(-p)} {(b1)}
    )
    (C {(on_dates)} {(DQ ('00:08'))} {(DQ ('00:08'))} {(as_author)} 
      {(foobar) (Lit_Other '@') (example.com)} {(save_tag)} {(b2)} {(unique_commit)} {(b2)} {(tree)} {(-p)} {(b1)}
    )
    (C {(on_dates)} {(DQ ('00:09'))} {(DQ ('00:09'))} {(save_tag)} {(b3)} {(unique_commit)} {(b3)} {(tree)} 
      {(-p)} {(b2)}
    )
    (C {(on_dates)} {(DQ ('00:10'))} {(DQ ('00:10'))} {(save_tag)} {(c2)} {(unique_commit)} {(c2)} {(tree)} 
      {(-p)} {(c1)} {(-p)} {(b2)}
    )
    (C {(on_dates)} {(DQ ('00:11'))} {(DQ ('00:11'))} {(save_tag)} {(c3)} {(unique_commit)} {(c3)} {(tree)} 
      {(-p)} {(c2)}
    )
    (C {(on_dates)} {(DQ ('00:12'))} {(DQ ('00:00'))} {(save_tag)} {(a2)} {(unique_commit)} {(a2)} {(tree)} 
      {(-p)} {(a1)}
    )
    (C {(on_dates)} {(DQ ('00:13'))} {(DQ ('00:01'))} {(save_tag)} {(a3)} {(unique_commit)} {(a3)} {(tree)} 
      {(-p)} {(a2)}
    )
    (C {(on_dates)} {(DQ ('00:14'))} {(DQ ('00:14'))} {(save_tag)} {(b4)} {(unique_commit)} {(b4)} {(tree)} 
      {(-p)} {(b3)} {(-p)} {(a3)}
    )
    (C {(on_dates)} {(DQ ('00:15'))} {(DQ ('00:15'))} {(save_tag)} {(a4)} {(unique_commit)} {(a4)} {(tree)} 
      {(-p)} {(a3)} {(-p)} {(b4)} {(-p)} {(c3)}
    )
    (C {(on_dates)} {(DQ ('00:16'))} {(DQ ('00:16'))} {(save_tag)} {(l3)} {(unique_commit)} {(l3)} {(tree)} 
      {(-p)} {(a4)}
    )
    (C {(on_dates)} {(DQ ('00:17'))} {(DQ ('00:17'))} {(save_tag)} {(l4)} {(unique_commit)} {(l4)} {(tree)} 
      {(-p)} {(l3)}
    )
    (C {(on_dates)} {(DQ ('00:18'))} {(DQ ('00:18'))} {(save_tag)} {(l5)} {(unique_commit)} {(l5)} {(tree)} 
      {(-p)} {(l4)}
    )
    (C {(on_dates)} {(DQ ('00:19'))} {(DQ ('00:19'))} {(save_tag)} {(m1)} {(unique_commit)} {(m1)} {(tree)} 
      {(-p)} {(a4)} {(-p)} {(c3)}
    )
    (C {(on_dates)} {(DQ ('00:20'))} {(DQ ('00:20'))} {(save_tag)} {(m2)} {(unique_commit)} {(m2)} {(tree)} 
      {(-p)} {(c3)} {(-p)} {(a4)}
    )
    (C {(on_dates)} {(DQ ('00:21'))} {(DQ ('00:21'))} {(hide_error)} {(save_tag)} {(alt_root)} 
      {(unique_commit)} {(alt_root)} {(tree)}
    )
    (C {(on_dates)} {(DQ ('00:22'))} {(DQ ('00:22'))} {(save_tag)} {(r0)} {(unique_commit)} {(r0)} {(tree)} 
      {(-p)} {(alt_root)}
    )
    (C {(on_dates)} {(DQ ('00:23'))} {(DQ ('00:23'))} {(save_tag)} {(r1)} {(unique_commit)} {(r1)} {(tree)} 
      {(-p)} {(r0)}
    )
    (C {(on_dates)} {(DQ ('00:24'))} {(DQ ('00:24'))} {(save_tag)} {(l5r1)} {(unique_commit)} {(l5r1)} 
      {(tree)} {(-p)} {(l5)} {(-p)} {(r1)}
    )
    (C {(on_dates)} {(DQ ('00:25'))} {(DQ ('00:25'))} {(save_tag)} {(r1l5)} {(unique_commit)} {(r1l5)} 
      {(tree)} {(-p)} {(r1)} {(-p)} {(l5)}
    )
    (C {(hide_error)} {(save_tag)} {(e1)} {(as_author)} {(e) (Lit_Other '@') (example.com)} 
      {(unique_commit)} {(e1)} {(tree)}
    )
    (C {(save_tag)} {(e2)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e2)} 
      {(tree)} {(-p)} {(e1)}
    )
    (C {(save_tag)} {(f1)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f1)} 
      {(tree)} {(-p)} {(e1)}
    )
    (C {(save_tag)} {(e3)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e3)} 
      {(tree)} {(-p)} {(e2)}
    )
    (C {(save_tag)} {(f2)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f2)} 
      {(tree)} {(-p)} {(f1)}
    )
    (C {(save_tag)} {(e4)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e4)} 
      {(tree)} {(-p)} {(e3)} {(-p)} {(f2)}
    )
    (C {(save_tag)} {(e5)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e5)} 
      {(tree)} {(-p)} {(e4)}
    )
    (C {(save_tag)} {(f3)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f3)} 
      {(tree)} {(-p)} {(f2)}
    )
    (C {(save_tag)} {(f4)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f4)} 
      {(tree)} {(-p)} {(f3)}
    )
    (C {(save_tag)} {(e6)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e6)} 
      {(tree)} {(-p)} {(e5)} {(-p)} {(f4)}
    )
    (C {(save_tag)} {(f5)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f5)} 
      {(tree)} {(-p)} {(f4)}
    )
    (C {(save_tag)} {(f6)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f6)} 
      {(tree)} {(-p)} {(f5)} {(-p)} {(e6)}
    )
    (C {(save_tag)} {(e7)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e7)} 
      {(tree)} {(-p)} {(e6)}
    )
    (C {(save_tag)} {(e8)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e8)} 
      {(tree)} {(-p)} {(e7)}
    )
    (C {(save_tag)} {(e9)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e9)} 
      {(tree)} {(-p)} {(e8)}
    )
    (C {(save_tag)} {(f7)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f7)} 
      {(tree)} {(-p)} {(f6)}
    )
    (C {(save_tag)} {(f8)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f8)} 
      {(tree)} {(-p)} {(f7)}
    )
    (C {(save_tag)} {(f9)} {(as_author)} {(f) (Lit_Other '@') (example.com)} {(unique_commit)} {(f9)} 
      {(tree)} {(-p)} {(f8)}
    )
    (C {(save_tag)} {(e10)} {(as_author)} {(e) (Lit_Other '@') (example.com)} {(unique_commit)} {(e1)} 
      {(tree)} {(-p)} {(e9)} {(-p)} {(f8)}
    )
    (C {(hide_error)} {(save_tag)} {(g0)} {(unique_commit)} {(g0)} {(tree)})
    (C {(save_tag)} {(g1)} {(unique_commit)} {(g1)} {(tree)} {(-p)} {(g0)})
    (C {(save_tag)} {(h1)} {(unique_commit)} {(g2)} {(tree)} {(-p)} {(g0)})
    (C {(save_tag)} {(g2)} {(unique_commit)} {(g3)} {(tree)} {(-p)} {(g1)} {(-p)} {(h1)})
    (C {(save_tag)} {(h2)} {(unique_commit)} {(g4)} {(tree)} {(-p)} {(g2)})
    (C {(save_tag)} {(g3)} {(unique_commit)} {(g5)} {(tree)} {(-p)} {(g2)})
    (C {(save_tag)} {(g4)} {(unique_commit)} {(g6)} {(tree)} {(-p)} {(g3)} {(-p)} {(h2)})
    (C {(git)} {(update-ref)} {(HEAD)} 
      {
        (word_part.CommandSubPart
          command_list: (command.CommandList children:[(C {(tag)} {(l5)})])
          left_token: <Left_CommandSub '$('>
        )
      }
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'rev-list has correct number of entries'>)}
        {(SQ <'git rev-list HEAD | wc -l | tr -d \\" \\"'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1267
          stdin_parts: [('19\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'simple topo order'>)}
        {(SQ <'git rev-list --topo-order  HEAD'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1302
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'simple date order'>)}
        {(SQ <'git rev-list --date-order  HEAD'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1337
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('c3\n')
            ('c2\n')
            ('b3\n')
            ('b2\n')
            ('c1\n')
            ('b1\n')
            ('a1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'simple author-date order'>)}
        {(SQ <'git rev-list --author-date-order  HEAD'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1372
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('b4\n')
            ('c3\n')
            ('c2\n')
            ('b3\n')
            ('b2\n')
            ('c1\n')
            ('b1\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'two diamonds topo order (g6)'>)}
        {(SQ <'git rev-list --topo-order  g4'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1395
          stdin_parts: [('g4\n') ('h2\n') ('g3\n') ('g2\n') ('h1\n') ('g1\n') ('g0\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'multiple heads'>)}
        {(SQ <'git rev-list --topo-order a3 b3 c3'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1425
          stdin_parts: [
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'multiple heads, prune at a1'>)}
        {(SQ <'git rev-list --topo-order a3 b3 c3 ^a1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1449
          stdin_parts: [('a3\n') ('a2\n') ('c3\n') ('c2\n') ('c1\n') ('b3\n') ('b2\n') ('b1\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'multiple heads, prune at l1'>)}
        {(SQ <'git rev-list --topo-order a3 b3 c3 ^l1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1476
          stdin_parts: [
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'cross-epoch, head at l5, prune at l1'>)}
        {(SQ <'git rev-list --topo-order l5 ^l1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1508
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'duplicated head arguments'>)}
        {(SQ <'git rev-list --topo-order l5 l5 ^l1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1540
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'prune near topo'>)}
        {(SQ <'git rev-list --topo-order a4 ^c3'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1562
          stdin_parts: [('a4\n') ('b4\n') ('a3\n') ('a2\n') ('a1\n') ('b3\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('head has no parent'))}
        {(SQ <'git rev-list --topo-order  root'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1579
          stdin_parts: [('root\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('two nodes - one head, one base'))}
        {(SQ <'git rev-list --topo-order  l0'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1597
          stdin_parts: [('l0\n') ('root\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('three nodes one head, one internal, one base'))}
        {(SQ <'git rev-list --topo-order  l1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1616
          stdin_parts: [('l1\n') ('l0\n') ('root\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l2 ^root'))}
        {(SQ <'git rev-list --topo-order  l2 ^root'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1635
          stdin_parts: [('l2\n') ('l1\n') ('l0\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l2 ^l0'))}
        {(SQ <'git rev-list --topo-order  l2 ^l0'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1653
          stdin_parts: [('l2\n') ('l1\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l2 ^l1'))}
        {(SQ <'git rev-list --topo-order  l2 ^l1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1670
          stdin_parts: [('l2\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l5 ^a4'))}
        {(SQ <'git rev-list --topo-order  l5 ^a4'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1689
          stdin_parts: [('l5\n') ('l4\n') ('l3\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l5 ^l3'))}
        {(SQ <'git rev-list --topo-order  l5 ^l3'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1707
          stdin_parts: [('l5\n') ('l4\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('linear prune l5 ^l4'))}
        {(SQ <'git rev-list --topo-order  l5 ^l4'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1724
          stdin_parts: [('l5\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('max-count 10 - topo order'))}
        {(SQ <'git rev-list --topo-order  --max-count=10 l5'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1750
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('max-count 10 - non topo order'))}
        {(SQ <'git rev-list --max-count=10 l5'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1776
          stdin_parts: [
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('c3\n')
            ('c2\n')
            ('b3\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'--max-age=c3, no --topo-order'>)}
        {
          (DQ ('git rev-list --max-age=') 
            (word_part.CommandSubPart
              command_list: (command.CommandList children:[(C {(commit_date)} {(c3)})])
              left_token: <Left_CommandSub '$('>
            ) (' l5')
          )
        }
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1806
          stdin_parts: [('l5\n') ('l4\n') ('l3\n') ('a4\n') ('b4\n') ('a3\n') ('a2\n') ('c3\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'one specified head reachable from another a4, c3, --topo-order'>)}
        {(DQ ('list_duplicates git rev-list --topo-order a4 c3'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1862
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'one specified head reachable from another c3, a4, --topo-order'>)}
        {(DQ ('list_duplicates git rev-list --topo-order c3 a4'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1878
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'one specified head reachable from another a4, c3, no --topo-order'>)}
        {(DQ ('list_duplicates git rev-list a4 c3'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1894
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'one specified head reachable from another c3, a4, no --topo-order'>)}
        {(DQ ('list_duplicates git rev-list c3 a4'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1910
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'graph with c3 and a4 parents of head'>)}
        {(DQ ('list_duplicates git rev-list m1'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1926
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'graph with a4 and c3 parents of head'>)}
        {(DQ ('list_duplicates git rev-list m2'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1942
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_expect_success)}
        {(DQ ('head ^head --topo-order'))}
        {(SQ <'git rev-list --topo-order  a3 ^a3'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1958
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_expect_success)}
        {(DQ ('head ^head no --topo-order'))}
        {(SQ <'git rev-list a3 ^a3'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 1974
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'simple topo order (l5r1)'>)}
        {(SQ <'git rev-list --topo-order  l5r1'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 2013
          stdin_parts: [
            ('l5r1\n')
            ('r1\n')
            ('r0\n')
            ('alt_root\n')
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(SQ <'simple topo order (r1l5)'>)}
        {(SQ <'git rev-list --topo-order  r1l5'>)}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 2052
          stdin_parts: [
            ('r1l5\n')
            ('l5\n')
            ('l4\n')
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
            ('r1\n')
            ('r0\n')
            ('alt_root\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ("don't print things unreachable from one branch"))}
        {(DQ ('git rev-list a3 ^b3 --topo-order'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 2071
          stdin_parts: [('a3\n') ('a2\n') ('a1\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [
        {(test_output_expect_success)}
        {(DQ ('--topo-order a4 l3'))}
        {(DQ ('git rev-list --topo-order a4 l3'))}
      ]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 2104
          stdin_parts: [
            ('l3\n')
            ('a4\n')
            ('c3\n')
            ('c2\n')
            ('c1\n')
            ('b4\n')
            ('a3\n')
            ('a2\n')
            ('a1\n')
            ('b3\n')
            ('b2\n')
            ('b1\n')
            ('a0\n')
            ('l2\n')
            ('l1\n')
            ('l0\n')
            ('root\n')
          ]
        )
      ]
    )
    (C {(test_done)})
  ]
)