(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:{(SQ )} spids:[21])]
      spids: [21]
    )
    (C {(.)} {(git-sh-setup)})
    (C {(require_work_tree)})
    (AndOr
      children: [
        (SimpleCommand
          words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 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]
        )
      ]
      op_id: Op_DPipe
    )
    (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 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*") (commit)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:status_only) op:Equal rhs:{(SQ )} spids:[74])]
              spids: [74]
            )
          ]
          spids: [69 71 77 -1]
        )
      ]
      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:-1 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:-1 arg_word:{(2)} spids:[102])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [87]
        )
      spids: [82 86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TMP_INDEX) op:Equal rhs:{(SQ )} 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: [-1 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: [-1 254]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$status_only"))} {(Lit_Other "=")} {(DQ (t))})
                            (C {(test)} {(DQ ($ VSub_Name "$use_status_color"))} {(Lit_Other "=")} 
                              {(DQ (t))}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:color) op:Equal rhs:{(SQ )} spids:[290])]
                      spids: [290]
                    )
                  ]
                  spids: [-1 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:{(SQ )} spids:[358])]
      spids: [358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(SQ )} 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:{(SQ )} spids:[365])]
      spids: [365]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(SQ )} spids:[367])]
      spids: [367]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:logfile) op:Equal rhs:{(SQ )} spids:[369])]
      spids: [369]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:use_commit) op:Equal rhs:{(SQ )} spids:[371])]
      spids: [371]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(SQ )} spids:[373])]
      spids: [373]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:edit_flag) op:Equal rhs:{(SQ )} spids:[375])]
      spids: [375]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(SQ )} spids:[377])]
      spids: [377]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:log_given) op:Equal rhs:{(SQ )} spids:[379])]
      spids: [379]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:log_message) op:Equal rhs:{(SQ )} 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:{(SQ )} spids:[386])]
      spids: [386]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(SQ )} spids:[388])]
      spids: [388]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:signoff) op:Equal rhs:{(SQ )} spids:[390])]
      spids: [390]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:force_author) op:Equal rhs:{(SQ )} spids:[392])]
      spids: [392]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:only_include_assumed) op:Equal rhs:{(SQ )} spids:[394])]
      spids: [394]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:untracked_files) op:Equal rhs:{(SQ )} 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:[456457461-1])]
                      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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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:[660661665-1])]
                      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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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:[800801805-1])]
                      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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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: {(SQ )}
                          spids: [961]
                        )
                      ]
                      spids: [961]
                    )
                  ]
                  spids: [937 958 964 -1]
                )
                (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 -1]
                )
                (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 -1]
                        )
                      ]
                      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: {(SQ )}
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                  ]
                  spids: [990 991 1029 -1]
                )
                (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: {(SQ )}
                          spids: [1101]
                        )
                      ]
                      spids: [1101]
                    )
                  ]
                  spids: [1032 1083 1104 -1]
                )
                (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 -1]
                        )
                      ]
                      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: {(SQ )}
                          spids: [1169]
                        )
                      ]
                      spids: [1169]
                    )
                  ]
                  spids: [1107 1134 1172 -1]
                )
                (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 -1]
                        )
                      ]
                      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 -1]
                )
                (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 -1]
                )
                (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 -1]
                        )
                      ]
                      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 -1]
                )
                (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 -1]
                )
                (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 -1]
                        )
                      ]
                      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: {(SQ )}
                          spids: [1427]
                        )
                      ]
                      spids: [1427]
                    )
                  ]
                  spids: [1380 1397 1430 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (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 -1]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1524 1525 1534 -1]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other "*")}]
                  action: [(C {(usage)})]
                  spids: [1537 1539 1545 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1548 1549 1555 -1]
                )
              ]
              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:{(SQ )} spids:[1576])]
              spids: [1576]
            )
          ]
          spids: [1573 1574 1578 -1]
        )
      ]
      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 -1]
        )
        (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: [-1 1633]
                )
              ]
              spids: [-1 1643]
            )
          ]
          spids: [1614 1616 1645 -1]
        )
      ]
      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 -1]
        )
        (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 -1]
        )
      ]
      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 -1]
        )
        (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 -1]
        )
        (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 -1]
        )
        (case_arm
          pat_list: [{(0) (Lit_Comma ",") (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "*")}]
          spids: [1765 1770 1773 -1]
        )
        (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:{(SQ )} spids:[1789])]
              spids: [1789]
            )
          ]
          spids: [1775 1780 1792 -1]
        )
      ]
      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 -1]
        )
        (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 -1]
        )
        (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 -1]
        )
        (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 -1]
        )
      ]
      spids: [1800 1812 1886]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              children: [
                (C {(test)} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$templatefile"))})
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$log_given"))})
              ]
              op_id: Op_DAmp
            )
          ]
          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: [-1 1927]
                )
              ]
              spids: [-1 1937]
            )
          ]
          spids: [-1 1911]
        )
      ]
      spids: [-1 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: [-1 1977]
                )
              ]
              spids: [-1 1987]
            )
            (AndOr
              children: [
                (C {(save_index)})
                (AndOr
                  children: [
                    (Subshell
                      child: 
                        (AndOr
                          children: [
                            (C {(cd_to_toplevel)})
                            (AndOr
                              children: [
                                (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]
                                )
                                (AndOr
                                  children: [
                                    (C {(export)} {(GIT_INDEX_FILE)})
                                    (Pipeline
                                      children: [
                                        (C {(git)} {(diff-files)} {(--name-only)} {(-z)})
                                        (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)})
                                      ]
                                      negated: False
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      spids: [1995 2040]
                    )
                    (C {(exit)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [1959 1961 2047 -1]
        )
        (case_arm
          pat_list: [{(Lit_Comma ",") (t)}]
          action: [
            (AndOr
              children: [
                (C {(save_index)})
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [{(git)} {(ls-files)} {(--error-unmatch)} {(--)} {(DQ ($ VSub_At "$@"))}]
                      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2071])]
                    )
                    (C {(exit)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (Pipeline
                  children: [
                    (C {(git)} {(diff-files)} {(--name-only)} {(-z)} {(--)} {(DQ ($ VSub_At "$@"))})
                    (Subshell
                      child: 
                        (AndOr
                          children: [
                            (C {(cd_to_toplevel)})
                            (AndOr
                              children: [
                                (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]
                                )
                                (AndOr
                                  children: [
                                    (C {(export)} {(GIT_INDEX_FILE)})
                                    (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)})
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      spids: [2097 2131]
                    )
                  ]
                  negated: False
                )
                (C {(exit)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [2049 2051 2138 -1]
        )
        (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
                      children: [(C {(git)} {(add)} {(--interactive)}) (C {(exit)})]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 2157]
                )
              ]
              spids: [-1 2171]
            )
            (Case
              to_match: {(DQ ($ VSub_Pound "$#"))}
              arms: [
                (case_arm pat_list:[{(0)}] spids:[218321842187-1])
                (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: [-1 2209]
                        )
                      ]
                      spids: [-1 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:{(SQ )} spids:[2231])]
                      spids: [2231]
                    )
                    (AndOr
                      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]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      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]
                        )
                        (C {(exit)})
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      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: [-1 2292]
                            )
                          ]
                          else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name "$TMP_INDEX"))})]
                          spids: [2319 2331]
                        )
                        (C {(exit)})
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      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: False
                        )
                        (AndOr
                          children: [
                            (C {(save_index)})
                            (AndOr
                              children: [
                                (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: False
                                )
                                (C {(exit)})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [2193 2194 2423 -1]
                )
              ]
              spids: [2174 2180 2426]
            )
          ]
          spids: [2140 2141 2429 -1]
        )
      ]
      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: [-1 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)})
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [2484 2485 2520 -1]
        )
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(git)} {(update-index)} {(-q)} {(--refresh)}]
                  more_env: [
                    (env_pair
                      name: GIT_INDEX_FILE
                      val: {(DQ ($ VSub_Name "$USE_INDEX"))}
                      spids: [2527]
                    )
                  ]
                )
                (C {(exit)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 2524 2545 -1]
        )
      ]
      spids: [2476 2482 2547]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              children: [
                (C {(test)} {(t)} {(Lit_Other "=")} {(DQ ($ VSub_Name "$verify"))})
                (C {(test)} {(-x)} {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/pre-commit)})
              ]
              op_id: Op_DAmp
            )
          ]
          action: [
            (AndOr
              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]
                    )
                  ]
                )
                (C {(exit)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 2580]
        )
      ]
      spids: [-1 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: [-1 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
                          children: [
                            (C {(test)} {(-t)} {(0)})
                            (SimpleCommand
                              words: [{(echo)} {(DQ ("(reading log message from standard input)"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [2679]
                                )
                              ]
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (C {(cat)})
                      ]
                      spids: [-1 2665]
                    )
                  ]
                  else_action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          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
                                    children: [
                                      (C {(git)} {(config)} {(i18n.commitencoding)})
                                      (C {(echo)} {(UTF-8)})
                                    ]
                                    op_id: Op_DPipe
                                  )
                                ]
                              )
                            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: False
                )
              ]
              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: [-1 2838]
        )
        (SimpleCommand
          words: [{(git)} {(stripspace)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: -1
              arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}
              spids: [2846]
            )
          ]
        )
      ]
      negated: False
    )
    (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: False
                              )
                            ]
                          )
                        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: {(SQ )}
                  spids: [2888]
                )
              ]
              spids: [2888]
            )
            (AndOr
              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:-1 arg_word:{(/dev/null)} spids:[2911])]
                    )
                  ]
                  negated: False
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:blank_before_signoff)
                      op: Equal
                      rhs: {(SQ <"\n">)}
                      spids: [2916]
                    )
                  ]
                  spids: [2916]
                )
              ]
              op_id: Op_DPipe
            )
            (AndOr
              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:-1 arg_word:{(/dev/null)} spids:[2943])]
                    )
                  ]
                  negated: False
                )
                (SimpleCommand
                  words: [
                    {(printf)}
                    {(SQ <"%s%s\\n">)}
                    {(DQ ($ VSub_Name "$blank_before_signoff"))}
                    {(DQ ($ VSub_Name "$sign"))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: -1
                      arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}
                      spids: [2965]
                    )
                  ]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [2861 2862 2972 -1]
        )
      ]
      spids: [2853 2859 2974]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))})
                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$no_edit"))})
                  ]
                  op_id: Op_DAmp
                )
              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: [-1 2999]
        )
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}
          spids: [3051]
        )
      ]
      spids: [-1 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: [-1 3075]
        )
      ]
      spids: [-1 3099]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$force_author"))})
          ]
          action: [
            (AndOr
              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]
                )
                (AndOr
                  children: [
                    (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]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$GIT_AUTHOR_NAME"))}
                        )
                        (AndOr
                          children: [
                            (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} 
                              {(DQ ($ VSub_Name "$GIT_AUTHOR_EMAIL"))}
                            )
                            (C {(die)} {(DQ ("malformed --author parameter"))})
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)})
          ]
          spids: [-1 3115]
        )
      ]
      spids: [-1 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: [-1 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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3290 3317]
                              )
                            }
                          spids: [3289]
                        )
                      ]
                      spids: [3289]
                    )
                  ]
                  spids: [3269 3280]
                )
              ]
              spids: [-1 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: [-1 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:-1 arg_word:{(2)} spids:[3361])]
                )
                (C {(exit)} {(1)})
              ]
              spids: [-1 3356]
            )
          ]
          spids: [-1 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
                  children: [
                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$only_include_assumed"))})
                    (C {(echo)} {(DQ ($ VSub_Name "$only_include_assumed"))})
                  ]
                  op_id: Op_DPipe
                )
                (C {(run_status)})
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}
                  spids: [3459]
                )
              ]
              spids: [3414]
            )
          ]
          spids: [-1 3411]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(run_status)}]
          redirects: [(Redir op_id:Redir_Great fd:-1 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 -1]
        )
        (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)})
            (C {(exit)} {(1)})
          ]
          spids: [3538 3539 -1 3568]
        )
      ]
      spids: [3479 3489 3568]
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$no_edit"))}
      arms: [
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(git)} {(var)} {(GIT_AUTHOR_IDENT)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3590])]
                )
                (C {(die)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(git)} {(var)} {(GIT_COMMITTER_IDENT)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3605])]
                )
                (C {(die)})
              ]
              op_id: Op_DPipe
            )
            (C {(git_editor)} {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_EDITMSG))})
          ]
          spids: [-1 3581 3622 -1]
        )
      ]
      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
                      children: [
                        (C {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/commit-msg)} 
                          {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}
                        )
                        (C {(exit)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 3651]
                )
              ]
              spids: [-1 3669]
            )
          ]
          spids: [3635 3636 -1 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: [-1 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: -1
              arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_MSG)}
              spids: [3724]
            )
          ]
        )
      ]
      negated: False
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:have_commitmsg) op:Equal rhs:{(SQ )} 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: -1
              arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_BAREMSG)}
              spids: [3758]
            )
          ]
        )
      ]
      negated: False
    )
    (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
                              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: -1
                                                            arg_word: 
                                                              {(DQ ($ VSub_Name "$templatefile"))}
                                                            spids: [3817]
                                                          )
                                                        ]
                                                      )
                                                      (C {(git)} {(stripspace)})
                                                      (C {(diff)} 
                                                        {(DQ ($ VSub_Name "$GIT_DIR")) 
                                                          (/COMMIT_BAREMSG)
                                                        } {(-)}
                                                      )
                                                      (C {(wc)} {(-l)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub "$(">
                                            spids: [3808 3848]
                                          )
                                        }
                                      spids: [3807]
                                    )
                                  ]
                                  spids: [3807]
                                )
                                (C {(test)} {(0)} {(-lt)} {($ VSub_Name "$cnt")})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:have_commitmsg)
                                  op: Equal
                                  rhs: {(t)}
                                  spids: [3865]
                                )
                              ]
                              spids: [3865]
                            )
                          ]
                          spids: [-1 3862]
                        )
                      ]
                      spids: [-1 3869]
                    )
                  ]
                  spids: [-1 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: [-1 3780]
        )
      ]
      spids: [-1 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
              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: [-1 3930]
                    )
                  ]
                  else_action: [
                    (AndOr
                      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"))})
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [3946 3973]
                )
                (AndOr
                  children: [
                    (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: -1
                                            arg_word: {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_MSG))}
                                            spids: [3988]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3979 3993]
                              )
                            }
                          spids: [3978]
                        )
                      ]
                      spids: [3978]
                    )
                    (AndOr
                      children: [
                        (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]
                        )
                        (AndOr
                          children: [
                            (C {(git)} {(update-ref)} {(-m)} 
                              {(DQ ($ VSub_Name "$GIT_REFLOG_ACTION") (": ") ($ VSub_Name "$rlogm"))} {(HEAD)} {($ VSub_Name "$commit")} {(DQ ($ VSub_Name "$current"))}
                            )
                            (AndOr
                              children: [
                                (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: [-1 4068]
                                    )
                                  ]
                                  else_action: [
                                    (Sentence
                                      child: (C {(Lit_Other ":")})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  spids: [4082 4092]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 3916]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ("* no commit message?  aborting commit."))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 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: [-1 4178]
                )
              ]
              spids: [-1 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: [-1 4201]
                )
              ]
              spids: [-1 4247]
            )
          ]
          spids: [-1 4156]
        )
      ]
      spids: [-1 4249]
    )
    (C {(exit)} {(DQ ($ VSub_Name "$ret"))})
  ]
)