(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USAGE)
          op: Equal
          rhs: 
            {
              (SQ <'[--max-count=<n>] [<since>..<limit>] [--pretty=<format>] [git-rev-list options]'>)
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(SQ <Yes>)} spids:[18])]
      spids: [18]
    )
    (C {(.)} {(git-sh-setup)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:revs)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(git-rev-parse)} {(--revs-only)} {(--no-flags)} {(--default)} {(HEAD)} 
                            {(DQ ($ VSub_At '$@'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [29 43]
                  )
                }
              spids: [28]
            )
          ]
          spids: [28]
        )
        (ControlFlow token:<ControlFlow_Exit exit>)
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$revs'))} {(Lit_Other ']')})
        (BraceGroup children:[(C {(die)} {(DQ ('No HEAD ref'))})] spids:[59])
      ]
    )
    (Pipeline
      children: [
        (C {(git-rev-list)} {(--pretty)} 
          {
            (CommandSubPart
              command_list: 
                (CommandList
                  children: [(C {(git-rev-parse)} {(--default)} {(HEAD)} {(DQ ($ VSub_At '$@'))})]
                )
              left_token: <Left_CommandSub '$('>
              spids: [74 84]
            )
          }
        )
        (SimpleCommand
          words: [
            {
              (BracedVarSub
                token: <VSub_Name PAGER>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(less)})
                spids: [91 95]
              )
            }
          ]
          more_env: [(env_pair name:LESS val:{(-S)} spids:[88])]
        )
      ]
      negated: F
    )
  ]
)