(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <'git rev-list trivial path optimization test\n'> <'\n'> <'   d/z1\n'> 
                <'   b0                             b1\n'> <'   o------------------------*----o master\n'> <'  /                        /\n'> 
                <' o---------o----o----o----o side\n'> <' a0        c0   c1   a1   c2\n'> <' d/f0      d/f1\n'> <' d/z0\n'> <'\n'>
              )
            }
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ <'\n'> <'\techo Hello >a &&\n'> <'\tmkdir d &&\n'> <'\techo World >d/f &&\n'> 
          <'\techo World >d/z &&\n'> <'\tgit add a d &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m "Initial commit" &&\n'> 
          <'\tgit rev-parse --verify HEAD &&\n'> <'\tgit tag initial\n'>
        )
      }
    )
    (C {(test_expect_success)} {(path-optimization)} 
      {
        (SQ <'\n'> <'\ttest_tick &&\n'> 
          <'\tcommit=$(echo "Unchanged tree" | git commit-tree "HEAD^{tree}" -p HEAD) &&\n'> <'\ttest $(git rev-list $commit | wc -l) = 2 &&\n'> 
          <'\ttest $(git rev-list $commit -- . | wc -l) = 1\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'further setup'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b side &&\n'> <'\techo Irrelevant >c &&\n'> 
          <'\techo Irrelevant >d/f &&\n'> <'\tgit add c d/f &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m "Side makes an irrelevant commit" &&\n'> <'\tgit tag side_c0 &&\n'> <'\techo "More Irrelevancy" >c &&\n'> <'\tgit add c &&\n'> 
          <'\ttest_tick &&\n'> <'\tgit commit -m "Side makes another irrelevant commit" &&\n'> <'\techo Bye >a &&\n'> 
          <'\tgit add a &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m "Side touches a" &&\n'> <'\tgit tag side_a1 &&\n'> 
          <'\techo "Yet more Irrelevancy" >c &&\n'> <'\tgit add c &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m "Side makes yet another irrelevant commit" &&\n'> <'\tgit checkout master &&\n'> <'\techo Another >b &&\n'> <'\techo Munged >d/z &&\n'> 
          <'\tgit add b d/z &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m "Master touches b" &&\n'> <'\tgit tag master_b0 &&\n'> 
          <'\tgit merge side &&\n'> <'\techo Touched >b &&\n'> <'\tgit add b &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m "Master touches b again"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'path optimization 2'>)} 
      {
        (SQ <'\n'> <'\tgit rev-parse side_a1 initial >expected &&\n'> 
          <'\tgit rev-list HEAD -- a >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'pathspec with leading path'>)} 
      {
        (SQ <'\n'> <'\tgit rev-parse master^ master_b0 side_c0 initial >expected &&\n'> 
          <'\tgit rev-list HEAD -- d >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'pathspec with glob (1)'>)} 
      {
        (SQ <'\n'> <'\tgit rev-parse master^ master_b0 side_c0 initial >expected &&\n'> 
          <'\tgit rev-list HEAD -- "d/*" >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'pathspec with glob (2)'>)} 
      {
        (SQ <'\n'> <'\tgit rev-parse side_c0 initial >expected &&\n'> 
          <'\tgit rev-list HEAD -- "d/[a-m]*" >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)