(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USAGE)
          op: Equal
          rhs: 
            {
              (SQ 
                <
'[-a | --interactive] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit> | --amend] [-u] [-e] [--author <author>] [--template <file>] [[-i | -o] <path>...]'
                >
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OPTIONS_SPEC) op:Equal rhs:{(EmptyPart)} spids:[21])]
      spids: [21]
    )
    (C {(.)} {(git-sh-setup)})
    (C {(require_work_tree)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[38])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[41])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:initial_commit) op:Equal rhs:{(t)} spids:[46])]
          spids: [46]
        )
      ]
    )
    (Case
      to_match: {(DQ ($ VSub_Number '$0'))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (status)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status_only) op:Equal rhs:{(t)} spids:[63])]
              spids: [63]
            )
          ]
          spids: [58 60 67 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*') (commit)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:status_only)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [74]
                )
              ]
              spids: [74]
            )
          ]
          spids: [69 71 77 16777215]
        )
      ]
      spids: [50 56 79]
    )
    (FuncDef
      name: refuse_partial
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_Number '$1'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[92])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ("You might have meant to say 'git commit -i paths...', perhaps?"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[102])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [87]
        )
      spids: [82 86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TMP_INDEX) op:Equal rhs:{(EmptyPart)} spids:[117])]
      spids: [117]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:THIS_INDEX)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name GIT_INDEX_FILE>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name '$GIT_DIR') (Lit_Slash /) (index)}
                    )
                  spids: [121 127]
                )
              )
            }
          spids: [119]
        )
      ]
      spids: [119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NEXT_INDEX)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$GIT_DIR') (/next-index) ($ VSub_Dollar '$$'))}
          spids: [130]
        )
      ]
      spids: [130]
    )
    (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$NEXT_INDEX'))})
    (FuncDef
      name: save_index
      body: 
        (BraceGroup
          children: [
            (C {(cp)} {(-p)} {(DQ ($ VSub_Name '$THIS_INDEX'))} {(DQ ($ VSub_Name '$NEXT_INDEX'))})
          ]
          spids: [150]
        )
      spids: [145 149]
    )
    (FuncDef
      name: run_status
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$TMP_INDEX'))})
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GIT_INDEX_FILE)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$TMP_INDEX'))}
                          spids: [218]
                        )
                      ]
                      spids: [218]
                    )
                    (C {(export)} {(GIT_INDEX_FILE)})
                  ]
                  spids: [16777215 215]
                )
                (if_arm
                  cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$NEXT_INDEX'))})]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GIT_INDEX_FILE)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$NEXT_INDEX'))}
                          spids: [243]
                        )
                      ]
                      spids: [243]
                    )
                    (C {(export)} {(GIT_INDEX_FILE)})
                  ]
                  spids: [229 240]
                )
              ]
              spids: [16777215 254]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name '$status_only'))} {(Lit_Other '=')} {(DQ (t))})
                            (C {(test)} {(DQ ($ VSub_Name '$use_status_color'))} {(Lit_Other '=')} 
                              {(DQ (t))}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:color)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [290]
                        )
                      ]
                      spids: [290]
                    )
                  ]
                  spids: [16777215 287]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:color)
                      op: Equal
                      rhs: {(--nocolor)}
                      spids: [296]
                    )
                  ]
                  spids: [296]
                )
              ]
              spids: [293 300]
            )
            (C {(git)} {(runstatus)} {(${ VSub_Name color)} 
              {
                (BracedVarSub
                  token: <VSub_Name verbose>
                  suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--verbose)})
                  spids: [313 317]
                )
              } 
              {
                (BracedVarSub
                  token: <VSub_Name amend>
                  suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--amend)})
                  spids: [321 325]
                )
              } 
              {
                (BracedVarSub
                  token: <VSub_Name untracked_files>
                  suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--untracked)})
                  spids: [329 333]
                )
              }
            )
          ]
          spids: [173]
        )
      spids: [168 172]
    )
    (C {(trap)} 
      {
        (SQ <'\n'> <'\ttest -z "$TMP_INDEX" || {\n'> 
          <'\t\ttest -f "$TMP_INDEX" && rm -f "$TMP_INDEX"\n'> <'\t}\n'> <'\trm -f "$NEXT_INDEX"\n'>
        )
      } {(0)}
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:all) op:Equal rhs:{(EmptyPart)} spids:[358])]
      spids: [358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(EmptyPart)} spids:[360])]
      spids: [360]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:allow_empty) op:Equal rhs:{(f)} spids:[362])]
      spids: [362]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:interactive) op:Equal rhs:{(EmptyPart)} spids:[365])]
      spids: [365]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(EmptyPart)} spids:[367])]
      spids: [367]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:logfile) op:Equal rhs:{(EmptyPart)} spids:[369])]
      spids: [369]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:use_commit) op:Equal rhs:{(EmptyPart)} spids:[371])]
      spids: [371]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(EmptyPart)} spids:[373])]
      spids: [373]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:edit_flag) op:Equal rhs:{(EmptyPart)} spids:[375])]
      spids: [375]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(EmptyPart)} spids:[377])]
      spids: [377]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:log_given) op:Equal rhs:{(EmptyPart)} spids:[379])]
      spids: [379]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:log_message) op:Equal rhs:{(EmptyPart)} spids:[381])]
      spids: [381]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:verify) op:Equal rhs:{(t)} spids:[383])]
      spids: [383]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:quiet) op:Equal rhs:{(EmptyPart)} spids:[386])]
      spids: [386]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(EmptyPart)} spids:[388])]
      spids: [388]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:signoff) op:Equal rhs:{(EmptyPart)} spids:[390])]
      spids: [390]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:force_author) op:Equal rhs:{(EmptyPart)} spids:[392])]
      spids: [392]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:only_include_assumed)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [394]
        )
      ]
      spids: [394]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:untracked_files) op:Equal rhs:{(EmptyPart)} spids:[396])]
      spids: [396]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:templatefile)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(git)} {(config)} {(commit.template)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [400 406]
                )
              )
            }
          spids: [398]
        )
      ]
      spids: [398]
    )
    (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: [{(-F)} {(--F)} {(-f)} {(--f)} {(--fi)} {(--fil)} {(--file)}]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [456 457 461 16777215]
                        )
                      ]
                      spids: [448 454 463]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[469])]
                      spids: [469]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [473]
                        )
                      ]
                      spids: [473]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:logfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [478]
                        )
                      ]
                      spids: [478]
                    )
                  ]
                  spids: [432 445 484 16777215]
                )
                (case_arm
                  pat_list: [{(-F) (Lit_Other '*')} {(-f) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[495])]
                      spids: [495]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [499]
                        )
                      ]
                      spids: [499]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:logfile)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('-[Ff]')})
                                  spids: [506 510]
                                )
                              )
                            }
                          spids: [504]
                        )
                      ]
                      spids: [504]
                    )
                  ]
                  spids: [487 492 514 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--F) (Lit_Other '=') (Lit_Other '*')}
                    {(--f) (Lit_Other '=') (Lit_Other '*')}
                    {(--fi) (Lit_Other '=') (Lit_Other '*')}
                    {(--fil) (Lit_Other '=') (Lit_Other '*')}
                    {(--file) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[539])]
                      spids: [539]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [543]
                        )
                      ]
                      spids: [543]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:logfile)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')})
                                  spids: [550 554]
                                )
                              )
                            }
                          spids: [548]
                        )
                      ]
                      spids: [548]
                    )
                  ]
                  spids: [517 536 558 16777215]
                )
                (case_arm
                  pat_list: [{(-a)} {(--a)} {(--al)} {(--all)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:all) op:Equal rhs:{(t)} spids:[571])]
                      spids: [571]
                    )
                  ]
                  spids: [561 568 575 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--allo)}
                    {(--allow)}
                    {(--allow-)}
                    {(--allow-e)}
                    {(--allow-em)}
                    {(--allow-emp)}
                    {(--allow-empt)}
                    {(--allow-empty)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_empty)
                          op: Equal
                          rhs: {(t)}
                          spids: [598]
                        )
                      ]
                      spids: [598]
                    )
                  ]
                  spids: [578 595 602 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--au) (Lit_Other '=') (Lit_Other '*')}
                    {(--aut) (Lit_Other '=') (Lit_Other '*')}
                    {(--auth) (Lit_Other '=') (Lit_Other '*')}
                    {(--autho) (Lit_Other '=') (Lit_Other '*')}
                    {(--author) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:force_author)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')})
                                  spids: [629 633]
                                )
                              )
                            }
                          spids: [627]
                        )
                      ]
                      spids: [627]
                    )
                  ]
                  spids: [605 624 637 16777215]
                )
                (case_arm
                  pat_list: [{(--au)} {(--aut)} {(--auth)} {(--autho)} {(--author)}]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [660 661 665 16777215]
                        )
                      ]
                      spids: [652 658 667]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:force_author)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [673]
                        )
                      ]
                      spids: [673]
                    )
                  ]
                  spids: [640 649 679 16777215]
                )
                (case_arm
                  pat_list: [{(-e)} {(--e)} {(--ed)} {(--edi)} {(--edit)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:edit_flag)
                          op: Equal
                          rhs: {(t)}
                          spids: [694]
                        )
                      ]
                      spids: [694]
                    )
                  ]
                  spids: [682 691 698 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-i)}
                    {(--i)}
                    {(--in)}
                    {(--inc)}
                    {(--incl)}
                    {(--inclu)}
                    {(--includ)}
                    {(--include)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(t)} spids:[719])]
                      spids: [719]
                    )
                  ]
                  spids: [701 716 723 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--int)}
                    {(--inte)}
                    {(--inter)}
                    {(--intera)}
                    {(--interac)}
                    {(--interact)}
                    {(--interacti)}
                    {(--interactiv)}
                    {(--interactive)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:interactive)
                          op: Equal
                          rhs: {(t)}
                          spids: [748]
                        )
                      ]
                      spids: [748]
                    )
                  ]
                  spids: [726 745 752 16777215]
                )
                (case_arm
                  pat_list: [{(-o)} {(--o)} {(--on)} {(--onl)} {(--only)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(t)} spids:[767])]
                      spids: [767]
                    )
                  ]
                  spids: [755 764 771 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-m)}
                    {(--m)}
                    {(--me)}
                    {(--mes)}
                    {(--mess)}
                    {(--messa)}
                    {(--messag)}
                    {(--message)}
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [800 801 805 16777215]
                        )
                      ]
                      spids: [792 798 807]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(m) ($ VSub_Name '$log_given')}
                          spids: [813]
                        )
                      ]
                      spids: [813]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_message)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name log_message>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: {(${ VSub_Name log_message) ('\n') ('\n')}
                                    )
                                  spids: [820 828]
                                ) ($ VSub_Number '$1')
                              )
                            }
                          spids: [818]
                        )
                      ]
                      spids: [818]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[833])]
                      spids: [833]
                    )
                  ]
                  spids: [774 789 837 16777215]
                )
                (case_arm
                  pat_list: [{(-m) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(m) ($ VSub_Name '$log_given')}
                          spids: [845]
                        )
                      ]
                      spids: [845]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_message)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name log_message>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: {(${ VSub_Name log_message) ('\n') ('\n')}
                                    )
                                  spids: [852 860]
                                ) 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-m)})
                                  spids: [861 865]
                                )
                              )
                            }
                          spids: [850]
                        )
                      ]
                      spids: [850]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[869])]
                      spids: [869]
                    )
                  ]
                  spids: [840 842 873 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--m) (Lit_Other '=') (Lit_Other '*')}
                    {(--me) (Lit_Other '=') (Lit_Other '*')}
                    {(--mes) (Lit_Other '=') (Lit_Other '*')}
                    {(--mess) (Lit_Other '=') (Lit_Other '*')}
                    {(--messa) (Lit_Other '=') (Lit_Other '*')}
                    {(--messag) (Lit_Other '=') (Lit_Other '*')}
                    {(--message) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(m) ($ VSub_Name '$log_given')}
                          spids: [906]
                        )
                      ]
                      spids: [906]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_message)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name log_message>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: {(${ VSub_Name log_message) ('\n') ('\n')}
                                    )
                                  spids: [913 921]
                                ) 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')})
                                  spids: [922 926]
                                )
                              )
                            }
                          spids: [911]
                        )
                      ]
                      spids: [911]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[930])]
                      spids: [930]
                    )
                  ]
                  spids: [876 903 934 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-n)}
                    {(--n)}
                    {(--no)}
                    {(--no-)}
                    {(--no-v)}
                    {(--no-ve)}
                    {(--no-ver)}
                    {(--no-veri)}
                    {(--no-verif)}
                    {(--no-verify)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:verify)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [961]
                        )
                      ]
                      spids: [961]
                    )
                  ]
                  spids: [937 958 964 16777215]
                )
                (case_arm
                  pat_list: [{(--a)} {(--am)} {(--ame)} {(--amen)} {(--amend)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(t)} spids:[979])]
                      spids: [979]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: {(HEAD)}
                          spids: [983]
                        )
                      ]
                      spids: [983]
                    )
                  ]
                  spids: [967 976 987 16777215]
                )
                (case_arm
                  pat_list: [{(-c)}]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [1002 1003 1007 16777215]
                        )
                      ]
                      spids: [994 1000 1009]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1015]
                        )
                      ]
                      spids: [1015]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1020]
                        )
                      ]
                      spids: [1020]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                  ]
                  spids: [990 991 1029 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--ree) (Lit_Other '=') (Lit_Other '*')}
                    {(--reed) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedi) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-m) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-me) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-mes) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-mess) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-messa) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-messag) (Lit_Other '=') (Lit_Other '*')}
                    {(--reedit-message) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1086]
                        )
                      ]
                      spids: [1086]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')})
                                  spids: [1093 1097]
                                )
                              )
                            }
                          spids: [1091]
                        )
                      ]
                      spids: [1091]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [1101]
                        )
                      ]
                      spids: [1101]
                    )
                  ]
                  spids: [1032 1083 1104 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--ree)}
                    {(--reed)}
                    {(--reedi)}
                    {(--reedit)}
                    {(--reedit-)}
                    {(--reedit-m)}
                    {(--reedit-me)}
                    {(--reedit-mes)}
                    {(--reedit-mess)}
                    {(--reedit-messa)}
                    {(--reedit-messag)}
                    {(--reedit-message)}
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [1145 1146 1150 16777215]
                        )
                      ]
                      spids: [1137 1143 1152]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1158]
                        )
                      ]
                      spids: [1158]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1163]
                        )
                      ]
                      spids: [1163]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [1169]
                        )
                      ]
                      spids: [1169]
                    )
                  ]
                  spids: [1107 1134 1172 16777215]
                )
                (case_arm
                  pat_list: [{(-C)}]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [1187 1188 1192 16777215]
                        )
                      ]
                      spids: [1179 1185 1194]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1200]
                        )
                      ]
                      spids: [1200]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1205]
                        )
                      ]
                      spids: [1205]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(t)}
                          spids: [1211]
                        )
                      ]
                      spids: [1211]
                    )
                  ]
                  spids: [1175 1176 1215 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--reu) (Lit_Other '=') (Lit_Other '*')}
                    {(--reus) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-m) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-me) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-mes) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-mess) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-messa) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-messag) (Lit_Other '=') (Lit_Other '*')}
                    {(--reuse-message) (Lit_Other '=') (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1268]
                        )
                      ]
                      spids: [1268]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*=')})
                                  spids: [1275 1279]
                                )
                              )
                            }
                          spids: [1273]
                        )
                      ]
                      spids: [1273]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(t)}
                          spids: [1283]
                        )
                      ]
                      spids: [1283]
                    )
                  ]
                  spids: [1218 1265 1287 16777215]
                )
                (case_arm
                  pat_list: [
                    {(--reu)}
                    {(--reus)}
                    {(--reuse)}
                    {(--reuse-)}
                    {(--reuse-m)}
                    {(--reuse-me)}
                    {(--reuse-mes)}
                    {(--reuse-mess)}
                    {(--reuse-messa)}
                    {(--reuse-messag)}
                    {(--reuse-message)}
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [1324 1325 1329 16777215]
                        )
                      ]
                      spids: [1316 1322 1331]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:log_given)
                          op: Equal
                          rhs: {(t) ($ VSub_Name '$log_given')}
                          spids: [1337]
                        )
                      ]
                      spids: [1337]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_commit)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1342]
                        )
                      ]
                      spids: [1342]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(t)}
                          spids: [1348]
                        )
                      ]
                      spids: [1348]
                    )
                  ]
                  spids: [1290 1313 1352 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-s)}
                    {(--s)}
                    {(--si)}
                    {(--sig)}
                    {(--sign)}
                    {(--signo)}
                    {(--signof)}
                    {(--signoff)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:signoff)
                          op: Equal
                          rhs: {(t)}
                          spids: [1373]
                        )
                      ]
                      spids: [1373]
                    )
                  ]
                  spids: [1355 1370 1377 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-t)}
                    {(--t)}
                    {(--te)}
                    {(--tem)}
                    {(--temp)}
                    {(--templ)}
                    {(--templa)}
                    {(--templat)}
                    {(--template)}
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Pound '$#'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [(C {(usage)})]
                          spids: [1408 1409 1413 16777215]
                        )
                      ]
                      spids: [1400 1406 1415]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:templatefile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1421]
                        )
                      ]
                      spids: [1421]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_edit)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [1427]
                        )
                      ]
                      spids: [1427]
                    )
                  ]
                  spids: [1380 1397 1430 16777215]
                )
                (case_arm
                  pat_list: [{(-q)} {(--q)} {(--qu)} {(--qui)} {(--quie)} {(--quiet)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:quiet) op:Equal rhs:{(t)} spids:[1447])]
                      spids: [1447]
                    )
                  ]
                  spids: [1433 1444 1451 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-v)}
                    {(--v)}
                    {(--ve)}
                    {(--ver)}
                    {(--verb)}
                    {(--verbo)}
                    {(--verbos)}
                    {(--verbose)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:verbose)
                          op: Equal
                          rhs: {(t)}
                          spids: [1472]
                        )
                      ]
                      spids: [1472]
                    )
                  ]
                  spids: [1454 1469 1476 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-u)}
                    {(--u)}
                    {(--un)}
                    {(--unt)}
                    {(--untr)}
                    {(--untra)}
                    {(--untrac)}
                    {(--untrack)}
                    {(--untracke)}
                    {(--untracked)}
                    {(--untracked-)}
                    {(--untracked-f)}
                    {(--untracked-fi)}
                    {(--untracked-fil)}
                    {(--untracked-file)}
                    {(--untracked-files)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:untracked_files)
                          op: Equal
                          rhs: {(t)}
                          spids: [1517]
                        )
                      ]
                      spids: [1517]
                    )
                  ]
                  spids: [1479 1514 1521 16777215]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1524 1525 1534 16777215]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other '*')}]
                  action: [(C {(usage)})]
                  spids: [1537 1539 1545 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1548 1549 1555 16777215]
                )
              ]
              spids: [423 429 1558]
            )
            (C {(shift)})
          ]
          spids: [420 1563]
        )
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$edit_flag'))}
      arms: [
        (case_arm
          pat_list: [{(t)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_edit)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [1576]
                )
              ]
              spids: [1576]
            )
          ]
          spids: [1573 1574 1578 16777215]
        )
      ]
      spids: [1565 1571 1580]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$amend') (',') ($ VSub_Name '$initial_commit'))}
      arms: [
        (case_arm
          pat_list: [{(t) (Lit_Comma ',') (t)}]
          action: [(C {(die)} {(DQ ('You do not have anything to amend.'))})]
          spids: [1600 1603 1612 16777215]
        )
        (case_arm
          pat_list: [{(t) (Lit_Comma ',')}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(die)} {(DQ ('You are in the middle of a merge -- cannot amend.'))})]
                  spids: [16777215 1633]
                )
              ]
              spids: [16777215 1643]
            )
          ]
          spids: [1614 1616 1645 16777215]
        )
      ]
      spids: [1590 1598 1647]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$log_given'))}
      arms: [
        (case_arm
          pat_list: [{(tt) (Lit_Other '*')}]
          action: [(C {(die)} {(DQ ('Only one of -c/-C/-F can be used.'))})]
          spids: [1658 1660 1669 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*') (tm) (Lit_Other '*')} {(Lit_Other '*') (mt) (Lit_Other '*')}]
          action: [(C {(die)} {(DQ ('Option -m cannot be combined with -c/-C/-F.'))})]
          spids: [1671 1678 1687 16777215]
        )
      ]
      spids: [1650 1656 1689]
    )
    (Case
      to_match: 
        {
          (DQ ($ VSub_Pound '$#') (',') ($ VSub_Name '$also') (',') ($ VSub_Name '$only') (',') 
            ($ VSub_Name '$amend')
          )
        }
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other '*') (Lit_Comma ',') (t) (Lit_Comma ',') (t) (Lit_Comma ',') (Lit_Other '*')}
          ]
          action: [(C {(die)} {(DQ ('Only one of --include/--only can be used.'))})]
          spids: [1706 1713 1722 16777215]
        )
        (case_arm
          pat_list: [
            {(0) (Lit_Comma ',') (t) (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '*')}
            {(0) (Lit_Comma ',') (Lit_Comma ',') (t) (Lit_Comma ',')}
          ]
          action: [(C {(die)} {(DQ ('No paths with --include/--only does not make sense.'))})]
          spids: [1724 1738 1747 16777215]
        )
        (case_arm
          pat_list: [{(0) (Lit_Comma ',') (Lit_Comma ',') (t) (Lit_Comma ',') (t)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:only_include_assumed)
                  op: Equal
                  rhs: {(DQ ('# Clever... amending the last one with dirty index.'))}
                  spids: [1758]
                )
              ]
              spids: [1758]
            )
          ]
          spids: [1749 1755 1763 16777215]
        )
        (case_arm
          pat_list: [{(0) (Lit_Comma ',') (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '*')}]
          spids: [1765 1770 1773 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*') (Lit_Comma ',') (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:only_include_assumed)
                  op: Equal
                  rhs: {(DQ ('# Explicit paths specified without -i or -o; assuming --only paths...'))}
                  spids: [1783]
                )
              ]
              spids: [1783]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(EmptyPart)} spids:[1789])]
              spids: [1789]
            )
          ]
          spids: [1775 1780 1792 16777215]
        )
      ]
      spids: [1692 1704 1794]
    )
    (C {(unset)} {(only)})
    (Case
      to_match: 
        {
          (DQ ($ VSub_Name '$all') (',') ($ VSub_Name '$interactive') (',') ($ VSub_Name '$also') (',') 
            ($ VSub_Pound '$#')
          )
        }
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other '*') (t) (Lit_Comma ',') (Lit_Other '*') (t) (Lit_Comma ',') (Lit_Other '*')}
          ]
          action: [(C {(die)} {(DQ ('Cannot use -a, --interactive or -i at the same time.'))})]
          spids: [1814 1821 1830 16777215]
        )
        (case_arm
          pat_list: [
            {(t) (Lit_Comma ',') (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '[') (1-9) (Lit_Other ']') 
              (Lit_Other '*')
            }
          ]
          action: [(C {(die)} {(DQ ('Paths with -a does not make sense.'))})]
          spids: [1832 1840 1849 16777215]
        )
        (case_arm
          pat_list: [
            {(Lit_Comma ',') (t) (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '[') (1-9) (Lit_Other ']') 
              (Lit_Other '*')
            }
          ]
          action: [(C {(die)} {(DQ ('Paths with --interactive does not make sense.'))})]
          spids: [1851 1859 1868 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Comma ',') (Lit_Comma ',') (t) (Lit_Comma ',') (0)}]
          action: [(C {(die)} {(DQ ('No paths with -i does not make sense.'))})]
          spids: [1870 1875 1884 16777215]
        )
      ]
      spids: [1800 1812 1886]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$templatefile'))})
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$log_given'))})
              ]
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$templatefile'))})]
                  action: [(C {(die)} {(DQ ('Commit template file does not exist.'))})]
                  spids: [16777215 1927]
                )
              ]
              spids: [16777215 1937]
            )
          ]
          spids: [16777215 1911]
        )
      ]
      spids: [16777215 1939]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$all') (',') ($ VSub_Name '$also'))}
      arms: [
        (case_arm
          pat_list: [{(t) (Lit_Comma ',')}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$THIS_INDEX'))})]
                  action: [
                    (C {(die)} 
                      {(SQ <'nothing to commit (use "git add file1 file2" to include for commit)'>)}
                    )
                  ]
                  spids: [16777215 1977]
                )
              ]
              spids: [16777215 1987]
            )
            (AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(save_index)})
                (Subshell
                  child: 
                    (AndOr
                      ops: [Op_DAmp Op_DAmp Op_DAmp]
                      children: [
                        (C {(cd_to_toplevel)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:GIT_INDEX_FILE)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$NEXT_INDEX'))}
                              spids: [2003]
                            )
                          ]
                          spids: [2003]
                        )
                        (C {(export)} {(GIT_INDEX_FILE)})
                        (Pipeline
                          children: [
                            (C {(git)} {(diff-files)} {(--name-only)} {(-z)})
                            (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  spids: [1995 2040]
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
          ]
          spids: [1959 1961 2047 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Comma ',') (t)}]
          action: [
            (AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(save_index)})
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(--error-unmatch)} {(--)} {(DQ ($ VSub_At '$@'))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [2071]
                    )
                  ]
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (Pipeline
                  children: [
                    (C {(git)} {(diff-files)} {(--name-only)} {(-z)} {(--)} {(DQ ($ VSub_At '$@'))})
                    (Subshell
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp Op_DAmp]
                          children: [
                            (C {(cd_to_toplevel)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:GIT_INDEX_FILE)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$NEXT_INDEX'))}
                                  spids: [2105]
                                )
                              ]
                              spids: [2105]
                            )
                            (C {(export)} {(GIT_INDEX_FILE)})
                            (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)})
                          ]
                        )
                      spids: [2097 2131]
                    )
                  ]
                  negated: F
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
          ]
          spids: [2049 2051 2138 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Comma ',')}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$interactive'))} {(Lit_Other '=')} {(t)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(git)} {(add)} {(--interactive)})
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                    )
                  ]
                  spids: [16777215 2157]
                )
              ]
              spids: [16777215 2171]
            )
            (Case
              to_match: {(DQ ($ VSub_Pound '$#'))}
              arms: [
                (case_arm pat_list:[{(0)}] spids:[2183 2184 2187 16777215])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))})]
                          action: [
                            (C {(refuse_partial)} {(DQ ('Cannot do a partial commit during a merge.'))})
                          ]
                          spids: [16777215 2209]
                        )
                      ]
                      spids: [16777215 2219]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TMP_INDEX)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$GIT_DIR') (/tmp-index) ($ VSub_Dollar '$$'))}
                          spids: [2223]
                        )
                      ]
                      spids: [2223]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:W)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [2231]
                        )
                      ]
                      spids: [2231]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$initial_commit'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:W)
                              op: Equal
                              rhs: {(--with-tree) (Lit_Other '=') (HEAD)}
                              spids: [2244]
                            )
                          ]
                          spids: [2244]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:commit_only)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(git)} {(ls-files)} {(--error-unmatch)} 
                                            {($ VSub_Name '$W')} {(--)} {(DQ ($ VSub_At '$@'))}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2251 2265]
                                  )
                                }
                              spids: [2250]
                            )
                          ]
                          spids: [2250]
                        )
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$initial_commit'))})]
                              action: [
                                (SimpleCommand
                                  words: [
                                    {(git)}
                                    {(read-tree)}
                                    {(--index-output) (Lit_Other '=') (DQ ($ VSub_Name '$TMP_INDEX'))}
                                    {(-i)}
                                    {(-m)}
                                    {(HEAD)}
                                  ]
                                  more_env: [
                                    (env_pair
                                      name: GIT_INDEX_FILE
                                      val: {(DQ ($ VSub_Name '$THIS_INDEX'))}
                                      spids: [2295]
                                    )
                                  ]
                                )
                              ]
                              spids: [16777215 2292]
                            )
                          ]
                          else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TMP_INDEX'))})]
                          spids: [2319 2331]
                        )
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp Op_DAmp Op_DPipe]
                      children: [
                        (Pipeline
                          children: [
                            (C {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$commit_only'))})
                            (SimpleCommand
                              words: [{(git)} {(update-index)} {(--add)} {(--remove)} {(--stdin)}]
                              more_env: [
                                (env_pair
                                  name: GIT_INDEX_FILE
                                  val: {(DQ ($ VSub_Name '$TMP_INDEX'))}
                                  spids: [2352]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (C {(save_index)})
                        (Pipeline
                          children: [
                            (C {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$commit_only'))})
                            (Subshell
                              child: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:GIT_INDEX_FILE)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$NEXT_INDEX'))}
                                          spids: [2394]
                                        )
                                      ]
                                      spids: [2394]
                                    )
                                    (C {(export)} {(GIT_INDEX_FILE)})
                                    (C {(git)} {(update-index)} {(--add)} {(--remove)} {(--stdin)})
                                  ]
                                )
                              spids: [2391 2416]
                            )
                          ]
                          negated: F
                        )
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                    )
                  ]
                  spids: [2193 2194 2423 16777215]
                )
              ]
              spids: [2174 2180 2426]
            )
          ]
          spids: [2140 2141 2429 16777215]
        )
      ]
      spids: [1949 1957 2431]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$NEXT_INDEX'))})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USE_INDEX)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$NEXT_INDEX'))}
                  spids: [2460]
                )
              ]
              spids: [2460]
            )
          ]
          spids: [16777215 2457]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:USE_INDEX)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$THIS_INDEX'))}
              spids: [2468]
            )
          ]
          spids: [2468]
        )
      ]
      spids: [2465 2473]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$status_only'))}
      arms: [
        (case_arm
          pat_list: [{(t)}]
          action: [
            (SimpleCommand
              words: [{(git)} {(update-index)} {(-q)} {(--unmerged)} {(--refresh)}]
              more_env: [
                (env_pair
                  name: GIT_INDEX_FILE
                  val: {(DQ ($ VSub_Name '$USE_INDEX'))}
                  spids: [2496]
                )
              ]
            )
            (C {(run_status)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [2484 2485 2520 16777215]
        )
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(git)} {(update-index)} {(-q)} {(--refresh)}]
                  more_env: [
                    (env_pair
                      name: GIT_INDEX_FILE
                      val: {(DQ ($ VSub_Name '$USE_INDEX'))}
                      spids: [2527]
                    )
                  ]
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
          ]
          spids: [16777215 2524 2545 16777215]
        )
      ]
      spids: [2476 2482 2547]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(t)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$verify'))})
                (C {(test)} {(-x)} {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/pre-commit)})
              ]
            )
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/pre-commit)}]
                  more_env: [
                    (env_pair
                      name: GIT_INDEX_FILE
                      val: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name TMP_INDEX>
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonHyphen
                                  arg_word: {(${ VSub_Name USE_INDEX)}
                                )
                              spids: [2585 2591]
                            )
                          )
                        }
                      spids: [2583]
                    )
                  ]
                )
                (ControlFlow token:<ControlFlow_Exit exit>)
              ]
            )
          ]
          spids: [16777215 2580]
        )
      ]
      spids: [16777215 2605]
    )
    (Pipeline
      children: [
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(DQ ($ VSub_Name '$log_message'))} {(KW_Bang '!') (Lit_Other '=')} {(SQ )})]
              action: [(C {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$log_message'))})]
              spids: [16777215 2622]
            )
            (if_arm
              cond: [(C {(test)} {(DQ ($ VSub_Name '$logfile'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )})]
              action: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(test)} {(DQ ($ VSub_Name '$logfile'))} {(Lit_Other '=')} {(-)})]
                      action: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-t)} {(0)})
                            (SimpleCommand
                              words: [{(echo)} {(DQ ('(reading log message from standard input)'))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [2679]
                                )
                              ]
                            )
                          ]
                        )
                        (C {(cat)})
                      ]
                      spids: [16777215 2665]
                    )
                  ]
                  else_action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$logfile'))}
                          spids: [2695]
                        )
                      ]
                    )
                  ]
                  spids: [2690 2701]
                )
              ]
              spids: [2635 2649]
            )
            (if_arm
              cond: [(C {(test)} {(DQ ($ VSub_Name '$use_commit'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )})]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:encoding)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (AndOr
                                    ops: [Op_DPipe]
                                    children: [
                                      (C {(git)} {(config)} {(i18n.commitencoding)})
                                      (C {(echo)} {(UTF-8)})
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2721 2733]
                          )
                        }
                      spids: [2720]
                    )
                  ]
                  spids: [2720]
                )
                (Pipeline
                  children: [
                    (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other '=') (raw)} 
                      {(--encoding) (Lit_Other '=') (DQ ($ VSub_Name '$encoding'))} {(DQ ($ VSub_Name '$use_commit'))}
                    )
                    (C {(sed)} {(-e)} {(SQ <'1,/^$/d'>)} {(-e)} {(SQ <'s/^    //'>)})
                  ]
                  negated: F
                )
              ]
              spids: [2703 2717]
            )
            (if_arm
              cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_MSG))})]
              action: [(C {(cat)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_MSG))})]
              spids: [2773 2784]
            )
            (if_arm
              cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/SQUASH_MSG))})]
              action: [(C {(cat)} {(DQ ($ VSub_Name '$GIT_DIR') (/SQUASH_MSG))})]
              spids: [2794 2805]
            )
            (if_arm
              cond: [(C {(test)} {(DQ ($ VSub_Name '$templatefile'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )})]
              action: [(C {(cat)} {(DQ ($ VSub_Name '$templatefile'))})]
              spids: [2815 2829]
            )
          ]
          spids: [16777215 2838]
        )
        (SimpleCommand
          words: [{(git)} {(stripspace)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
              spids: [2846]
            )
          ]
        )
      ]
      negated: F
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$signoff'))}
      arms: [
        (case_arm
          pat_list: [{(t)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sign)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(var)} {(GIT_COMMITTER_IDENT)})
                                  (C {(sed)} {(-e)} 
                                    {
                                      (SQ <'\n'> <'\t\ts/>.*/>/\n'> <'\t\ts/^/Signed-off-by: /\n'> 
                                        <'\t\t'>
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2866 2885]
                      )
                    }
                  spids: [2865]
                )
              ]
              spids: [2865]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:blank_before_signoff)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [2888]
                )
              ]
              spids: [2888]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (Pipeline
                  children: [
                    (C {(tail)} {(-n)} {(1)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)})
                    (SimpleCommand
                      words: [{(grep)} {(SQ <'Signed-off-by:'>)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [2911]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:blank_before_signoff)
                      op: Equal
                      rhs: {(SQ <'\n'>)}
                      spids: [2916]
                    )
                  ]
                  spids: [2916]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (Pipeline
                  children: [
                    (C {(tail)} {(-n)} {(1)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)})
                    (SimpleCommand
                      words: [{(grep)} {(DQ ($ VSub_Name '$sign')) (Lit_Other '$')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [2943]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (SimpleCommand
                  words: [
                    {(printf)}
                    {(SQ <'%s%s\\n'>)}
                    {(DQ ($ VSub_Name '$blank_before_signoff'))}
                    {(DQ ($ VSub_Name '$sign'))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
                      spids: [2965]
                    )
                  ]
                )
              ]
            )
          ]
          spids: [2861 2862 2972 16777215]
        )
      ]
      spids: [2853 2859 2974]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))})
                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$no_edit'))})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('#'))})
            (C {(echo)} {(DQ ('# It looks like you may be committing a MERGE.'))})
            (C {(echo)} {(DQ ('# If this is not correct, please remove the file'))})
            (C {(printf)} {(SQ <'%s\\n'>)} {(DQ ('#\t') ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))})
            (C {(echo)} {(DQ ('# and try again'))})
            (C {(echo)} {(DQ ('#'))})
          ]
          spids: [16777215 2999]
        )
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: 16777215
          arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
          spids: [3051]
        )
      ]
      spids: [16777215 3049]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$use_commit'))})]
          action: [
            (C {(eval)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(get_author_ident_from_commit)} {(DQ ($ VSub_Name '$use_commit'))})
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [3081 3087]
                  )
                )
              }
            )
            (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)} {(GIT_AUTHOR_DATE)})
          ]
          spids: [16777215 3075]
        )
      ]
      spids: [16777215 3099]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$force_author'))})
          ]
          action: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:GIT_AUTHOR_NAME)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {(DQ (z) ($ VSub_Name '$force_author'))} {(Lit_Other ':')} 
                                    {(SQ <'z\\(.*[^ ]\\) *<.*'>)}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3119 3132]
                          )
                        }
                      spids: [3118]
                    )
                  ]
                  spids: [3118]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:GIT_AUTHOR_EMAIL)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {(DQ (z) ($ VSub_Name '$force_author'))} {(Lit_Other ':')} 
                                    {(SQ <'.*\\(<.*\\)'>)}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3138 3151]
                          )
                        }
                      spids: [3137]
                    )
                  ]
                  spids: [3137]
                )
                (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$GIT_AUTHOR_NAME'))}
                )
                (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$GIT_AUTHOR_EMAIL'))}
                )
                (C {(die)} {(DQ ('malformed --author parameter'))})
              ]
            )
            (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)})
          ]
          spids: [16777215 3115]
        )
      ]
      spids: [16777215 3199]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PARENTS) op:Equal rhs:{(DQ ('-p HEAD'))} spids:[3202])]
      spids: [3202]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$initial_commit'))})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rloga)
                  op: Equal
                  rhs: {(SQ <commit>)}
                  spids: [3220]
                )
              ]
              spids: [3220]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rloga)
                          op: Equal
                          rhs: {(SQ <'commit (merge)'>)}
                          spids: [3243]
                        )
                      ]
                      spids: [3243]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PARENTS)
                          op: Equal
                          rhs: 
                            {(DQ ('-p HEAD ')) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(sed)} {(-e)} {(SQ <'s/^/-p /'>)} 
                                        {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3253 3266]
                              )
                            }
                          spids: [3249]
                        )
                      ]
                      spids: [3249]
                    )
                  ]
                  spids: [16777215 3240]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$amend'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rloga)
                          op: Equal
                          rhs: {(SQ <'commit (amend)'>)}
                          spids: [3283]
                        )
                      ]
                      spids: [3283]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PARENTS)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(cat-file)} {(commit)} {(HEAD)})
                                          (C {(sed)} {(-n)} {(-e)} {(SQ <'/^$/q'>)} {(-e)} 
                                            {(SQ <'s/^parent /-p /p'>)}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3290 3317]
                              )
                            }
                          spids: [3289]
                        )
                      ]
                      spids: [3289]
                    )
                  ]
                  spids: [3269 3280]
                )
              ]
              spids: [16777215 3320]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3325 3333]
                        )
                      )
                    }
                  spids: [3323]
                )
              ]
              spids: [3323]
            )
          ]
          spids: [16777215 3217]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-z)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(git)} {(ls-files)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [3346 3350]
                          )
                        )
                      } {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [
                    {(echo)}
                    {(SQ <'nothing to commit (use "git add file1 file2" to include for commit)'>)}
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[3361])]
                )
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 3356]
            )
          ]
          spids: [16777215 3374]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:PARENTS) op:Equal rhs:{(DQ )} spids:[3377])]
          spids: [3377]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:rloga)
              op: Equal
              rhs: {(SQ <'commit (initial)'>)}
              spids: [3382]
            )
          ]
          spids: [3382]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:current) op:Equal rhs:{(SQ )} spids:[3388])]
          spids: [3388]
        )
      ]
      spids: [3336 3392]
    )
    (C {(set_reflog_action)} {(DQ ($ VSub_Name '$rloga'))})
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$no_edit'))})]
          action: [
            (BraceGroup
              children: [
                (C {(echo)} {(DQ )})
                (C {(echo)} {(DQ ('# Please enter the commit message for your changes.'))})
                (C {(echo)} {(DQ ("# (Comment lines starting with '#' will not be included)"))})
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$only_include_assumed'))})
                    (C {(echo)} {(DQ ($ VSub_Name '$only_include_assumed'))})
                  ]
                )
                (C {(run_status)})
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
                  spids: [3459]
                )
              ]
              spids: [3414]
            )
          ]
          spids: [16777215 3411]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(run_status)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[3474])]
        )
      ]
      spids: [3465 3477]
    )
    (Case
      to_match: 
        {(DQ ($ VSub_Name '$allow_empty') (',') ($ VSub_QMark '$?') (',') ($ VSub_Name '$PARENTS'))}
      arms: [
        (case_arm
          pat_list: [
            {(t) (Lit_Comma ',') (Lit_Other '*')}
            {(Lit_Other '?') (Lit_Comma ',') (0) (Lit_Comma ',') (Lit_Other '*')}
            {(Lit_Other '?') (Lit_Comma ',') (Lit_Other '*') (Lit_Comma ',') (-p) (SQ <' '>) 
              (Lit_Other '?') (Lit_Other '*') (-p) (SQ <' '>) (Lit_Other '?') (Lit_Other '*')
            }
          ]
          spids: [3491 3521 3536 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_EDITMSG))} 
              {(DQ ($ VSub_Name '$GIT_DIR') (/SQUASH_MSG))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_status_color)
                  op: Equal
                  rhs: {(t)}
                  spids: [3557]
                )
              ]
              spids: [3557]
            )
            (C {(run_status)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [3538 3539 16777215 3568]
        )
      ]
      spids: [3479 3489 3568]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$no_edit'))}
      arms: [
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(git)} {(var)} {(GIT_AUTHOR_IDENT)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [3590]
                    )
                  ]
                )
                (C {(die)})
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(git)} {(var)} {(GIT_COMMITTER_IDENT)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [3605]
                    )
                  ]
                )
                (C {(die)})
              ]
            )
            (C {(git_editor)} {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_EDITMSG))})
          ]
          spids: [16777215 3581 3622 16777215]
        )
      ]
      spids: [3571 3577 3624]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$verify'))}
      arms: [
        (case_arm
          pat_list: [{(t)}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-x)} {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/commit-msg)})]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/commit-msg)} 
                          {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
                        )
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                    )
                  ]
                  spids: [16777215 3651]
                )
              ]
              spids: [16777215 3669]
            )
          ]
          spids: [3635 3636 16777215 3671]
        )
      ]
      spids: [3627 3633 3671]
    )
    (Pipeline
      children: [
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$no_edit'))})]
              action: [
                (C {(sed)} {(-e)} 
                  {
                    (SQ <'\n'> <'        /^diff --git a\\/.*/{\n'> <'\t    s///\n'> <'\t    q\n'> 
                      <'\t}\n'> <'\t/^#/d\n'> <'    '>
                    )
                  } {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)}
                )
              ]
              spids: [16777215 3684]
            )
          ]
          else_action: [(C {(cat)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)})]
          spids: [3706 3716]
        )
        (SimpleCommand
          words: [{(git)} {(stripspace)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_MSG)}
              spids: [3724]
            )
          ]
        )
      ]
      negated: F
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:have_commitmsg) op:Equal rhs:{(EmptyPart)} spids:[3734])]
      spids: [3734]
    )
    (Pipeline
      children: [
        (C {(grep)} {(-v)} {(-i)} {(SQ <'^Signed-off-by'>)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_MSG)})
        (SimpleCommand
          words: [{(git)} {(stripspace)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_BAREMSG)}
              spids: [3758]
            )
          ]
        )
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_BAREMSG)})]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(DQ ($ VSub_Name '$templatefile'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )})
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cnt)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (SimpleCommand
                                                        words: [{(sed)} {(-e)} {(SQ <'/^#/d'>)}]
                                                        redirects: [
                                                          (Redir
                                                            op_id: Redir_Less
                                                            fd: 16777215
                                                            arg_word: 
                                                              {(DQ ($ VSub_Name '$templatefile'))}
                                                            spids: [3817]
                                                          )
                                                        ]
                                                      )
                                                      (C {(git)} {(stripspace)})
                                                      (C {(diff)} 
                                                        {(DQ ($ VSub_Name '$GIT_DIR')) 
                                                          (/COMMIT_BAREMSG)
                                                        } {(-)}
                                                      )
                                                      (C {(wc)} {(-l)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [3808 3848]
                                          )
                                        }
                                      spids: [3807]
                                    )
                                  ]
                                  spids: [3807]
                                )
                                (C {(test)} {(0)} {(-lt)} {($ VSub_Name '$cnt')})
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:have_commitmsg)
                                  op: Equal
                                  rhs: {(t)}
                                  spids: [3865]
                                )
                              ]
                              spids: [3865]
                            )
                          ]
                          spids: [16777215 3862]
                        )
                      ]
                      spids: [16777215 3869]
                    )
                  ]
                  spids: [16777215 3798]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:have_commitmsg)
                      op: Equal
                      rhs: {(t)}
                      spids: [3883]
                    )
                  ]
                  spids: [3883]
                )
              ]
              spids: [3872 3887]
            )
          ]
          spids: [16777215 3780]
        )
      ]
      spids: [16777215 3889]
    )
    (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_BAREMSG)})
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(DQ ($ VSub_Name '$have_commitmsg'))} {(Lit_Other '=')} {(DQ (t))})]
          action: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$TMP_INDEX'))})]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:tree)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(git)} {(write-tree)}]
                                            more_env: [
                                              (env_pair
                                                name: GIT_INDEX_FILE
                                                val: {(DQ ($ VSub_Name '$USE_INDEX'))}
                                                spids: [3935]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3934 3943]
                                  )
                                }
                              spids: [3933]
                            )
                          ]
                          spids: [3933]
                        )
                      ]
                      spids: [16777215 3930]
                    )
                  ]
                  else_action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:tree)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(git)} {(write-tree)}]
                                            more_env: [
                                              (env_pair
                                                name: GIT_INDEX_FILE
                                                val: {(DQ ($ VSub_Name '$TMP_INDEX'))}
                                                spids: [3951]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3950 3959]
                                  )
                                }
                              spids: [3949]
                            )
                          ]
                          spids: [3949]
                        )
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TMP_INDEX'))})
                      ]
                    )
                  ]
                  spids: [3946 3973]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:commit)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(git)}
                                      {(commit-tree)}
                                      {($ VSub_Name '$tree')}
                                      {($ VSub_Name '$PARENTS')}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Less
                                        fd: 16777215
                                        arg_word: {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_MSG))}
                                        spids: [3988]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3979 3993]
                          )
                        }
                      spids: [3978]
                    )
                  ]
                  spids: [3978]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:rlogm)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(sed)} {(-e)} {(1q)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_MSG)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3999 4010]
                          )
                        }
                      spids: [3998]
                    )
                  ]
                  spids: [3998]
                )
                (C {(git)} {(update-ref)} {(-m)} 
                  {(DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': ') ($ VSub_Name '$rlogm'))} {(HEAD)} {($ VSub_Name '$commit')} {(DQ ($ VSub_Name '$current'))}
                )
                (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))} 
                  {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_MSG))}
                )
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$NEXT_INDEX'))})]
                      action: [
                        (C {(mv)} {(DQ ($ VSub_Name '$NEXT_INDEX'))} {(DQ ($ VSub_Name '$THIS_INDEX'))})
                      ]
                      spids: [16777215 4068]
                    )
                  ]
                  else_action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                  spids: [4082 4092]
                )
              ]
            )
          ]
          spids: [16777215 3916]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ('* no commit message?  aborting commit.'))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[4099])]
        )
        (C {(false)})
      ]
      spids: [4094 4109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ret)
          op: Equal
          rhs: {(DQ ($ VSub_QMark '$?'))}
          spids: [4111]
        )
      ]
      spids: [4111]
    )
    (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_MSG))} 
      {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_EDITMSG))} {(DQ ($ VSub_Name '$GIT_DIR') (/SQUASH_MSG))}
    )
    (C {(cd_to_toplevel)})
    (C {(git)} {(rerere)})
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(DQ ($ VSub_Name '$ret'))} {(Lit_Other '=')} {(0)})]
          action: [
            (C {(git)} {(gc)} {(--auto)})
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-x)} {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/post-commit)})]
                  action: [(C {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/post-commit)})]
                  spids: [16777215 4178]
                )
              ]
              spids: [16777215 4187]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$quiet'))})]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:commit)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(git)} {(diff-tree)} {(--always)} {(--shortstat)} 
                                        {(--pretty) (Lit_Other '=') (DQ ('format:%h: %s'))} {(--abbrev)} {(--summary)} {(--root)} {(HEAD)} {(--)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4205 4230]
                              )
                            }
                          spids: [4204]
                        )
                      ]
                      spids: [4204]
                    )
                    (C {(echo)} 
                      {
                        (DQ (Created) 
                          (BracedVarSub
                            token: <VSub_Name initial_commit>
                            suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(' initial')})
                            spids: [4237 4241]
                          ) (' commit ') ($ VSub_Name '$commit')
                        )
                      }
                    )
                  ]
                  spids: [16777215 4201]
                )
              ]
              spids: [16777215 4247]
            )
          ]
          spids: [16777215 4156]
        )
      ]
      spids: [16777215 4249]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(DQ ($ VSub_Name '$ret'))})
  ]
)