(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:USAGE) op:Equal rhs:{(SQ <"[--prune]">)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[21])]
      spids: [21]
    )
    (C {(.)} {(git-sh-setup)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:no_prune) op:Equal rhs:{(Lit_Other ":")} spids:[29])]
      spids: [29]
    )
    (While
      cond: [(C {(test)} {($ VSub_Pound "$#")} {(KW_Bang "!") (Lit_Other "=")} {(0)})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number "$1"))}
              arms: [
                (case_arm
                  pat_list: [{(--prune)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_prune)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [59]
                        )
                      ]
                      spids: [59]
                    )
                  ]
                  spids: [55 56 62 -1]
                )
                (case_arm pat_list:[{(--)}] action:[(C {(usage)})] spids:[656672-1])
              ]
              spids: [46 52 75]
            )
            (C {(shift)})
          ]
          spids: [43 80]
        )
    )
    (Case
      to_match: 
        {
          (DQ 
            (CommandSubPart
              command_list: (CommandList children:[(C {(git)} {(config)} {(--get)} {(gc.packrefs)})])
              left_token: <Left_CommandSub "$(">
              spids: [86 94]
            )
          )
        }
      arms: [
        (case_arm
          pat_list: [{(notbare)} {(DQ )}]
          action: [
            (AndOr
              children: [
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(is_bare_repository)})])
                      left_token: <Left_CommandSub "$(">
                      spids: [108 110]
                    )
                  } {(Lit_Other "=")} {(true)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:pack_refs)
                      op: Equal
                      rhs: {(true)}
                      spids: [118]
                    )
                  ]
                  spids: [118]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [99 103 120 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pack_refs)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(config)} {(--bool)} {(--get)} {(gc.packrefs)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [127 137]
                      )
                    }
                  spids: [126]
                )
              ]
              spids: [126]
            )
          ]
          spids: [122 123 -1 139]
        )
      ]
      spids: [83 97 139]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ (true))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pack_refs"))})
        (AndOr
          children: [
            (C {(git)} {(pack-refs)} {(--prune)})
            (AndOr
              children: [
                (C {(git)} {(reflog)} {(expire)} {(--all)})
                (AndOr
                  children: [
                    (C {(git-repack)} {(-a)} {(-d)} {(-l)})
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$no_prune")} {(git)} {(prune)})
                        (AndOr
                          children: [(C {(git)} {(rerere)} {(gc)}) (C {(exit)})]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DPipe
    )
  ]
)