(CommandList
  children: [
    (Case
      to_match: {(DQ ($ VSub_Number "$0"))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other "*") (-revert) (Lit_Other "*")}]
          action: [
            (AndOr
              children: [
                (C {(test)} {(-t)} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(-e)} spids:[39])]
                  spids: [39]
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:replay) op:Equal rhs:{(SQ )} spids:[43])]
              spids: [43]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:me) op:Equal rhs:{(revert)} spids:[46])]
              spids: [46]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USAGE)
                  op: Equal
                  rhs: {(SQ <"[--edit | --no-edit] [-n] <commit-ish>">)}
                  spids: [50]
                )
              ]
              spids: [50]
            )
          ]
          spids: [24 28 55 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*") (-cherry-pick) (Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:replay) op:Equal rhs:{(t)} spids:[64])]
              spids: [64]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(SQ )} spids:[68])]
              spids: [68]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:me) op:Equal rhs:{(cherry-pick)} spids:[71])]
              spids: [71]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USAGE)
                  op: Equal
                  rhs: {(SQ <"[--edit] [-n] [-r] [-x] <commit-ish>">)}
                  spids: [75]
                )
              ]
              spids: [75]
            )
          ]
          spids: [57 61 80 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("What are you talking about?"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[89])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [82 84 101 -1]
        )
      ]
      spids: [16 22 103]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[106])]
          spids: [106]
        )
      terminator: <Op_Semi ";">
    )
    (C {(.)} {(git-sh-setup)})
    (C {(require_work_tree)})
    (C {(cd_to_toplevel)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:no_commit) op:Equal rhs:{(SQ )} spids:[122])]
      spids: [122]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:xopt) op:Equal rhs:{(SQ )} spids:[124])]
      spids: [124]
    )
    (While
      cond: [
        (Case
          to_match: {(DQ ($ VSub_Pound "$#"))}
          arms: [
            (case_arm
              pat_list: [{(0)}]
              action: [(ControlFlow token:<ControlFlow_Break break>)]
              spids: [136 137 141 -1]
            )
          ]
          spids: [128 134 143]
        )
      ]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number "$1"))}
              arms: [
                (case_arm
                  pat_list: [
                    {(-n)}
                    {(--n)}
                    {(--no)}
                    {(--no-)}
                    {(--no-c)}
                    {(--no-co)}
                    {(--no-com)}
                    {(--no-comm)}
                    {(--no-commi)}
                    {(--no-commit)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:no_commit)
                          op: Equal
                          rhs: {(t)}
                          spids: [181]
                        )
                      ]
                      spids: [181]
                    )
                  ]
                  spids: [157 178 185 -1]
                )
                (case_arm
                  pat_list: [{(-e)} {(--e)} {(--ed)} {(--edi)} {(--edit)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(-e)} spids:[200])]
                      spids: [200]
                    )
                  ]
                  spids: [188 197 204 -1]
                )
                (case_arm
                  pat_list: [{(--n)} {(--no)} {(--no-)} {(--no-e)} {(--no-ed)} {(--no-edi)} {(--no-edit)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(SQ )} spids:[223])]
                      spids: [223]
                    )
                  ]
                  spids: [207 220 226 -1]
                )
                (case_arm
                  pat_list: [{(-r)}]
                  action: [(C {(Lit_Other ":")} {(no-op)})]
                  spids: [229 230 237 -1]
                )
                (case_arm
                  pat_list: [{(-x)} {(--i-really-want-to-expose-my-private-commit-object-name)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:replay)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [246]
                        )
                      ]
                      spids: [246]
                    )
                  ]
                  spids: [240 243 249 -1]
                )
                (case_arm
                  pat_list: [{(-X) (Lit_Other "?") (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:xopt)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$xopt") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(git)} {(rev-parse)} {(--sq-quote)} 
                                          {
                                            (DQ (--) 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {(-X)}
                                                  )
                                                spids: [270 274]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [261 276]
                                )
                              )
                            }
                          spids: [258]
                        )
                      ]
                      spids: [258]
                    )
                  ]
                  spids: [252 255 280 -1]
                )
                (case_arm
                  pat_list: [{(--strategy-option) (Lit_Other "=") (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:xopt)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$xopt") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(git)} {(rev-parse)} {(--sq-quote)} 
                                          {
                                            (DQ (--) 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {("--strategy-option=")}
                                                  )
                                                spids: [301 305]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [292 307]
                                )
                              )
                            }
                          spids: [289]
                        )
                      ]
                      spids: [289]
                    )
                  ]
                  spids: [283 286 311 -1]
                )
                (case_arm
                  pat_list: [{(-X)} {(--strategy-option)}]
                  action: [
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:xopt)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$xopt") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(git)} {(rev-parse)} {(--sq-quote)} 
                                          {(DQ (--) ($ VSub_Number "$1"))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [326 337]
                                )
                              )
                            }
                          spids: [323]
                        )
                      ]
                      spids: [323]
                    )
                  ]
                  spids: [314 317 341 -1]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other "*")}]
                  action: [(C {(usage)})]
                  spids: [344 346 352 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [355 356 362 -1]
                )
              ]
              spids: [148 154 365]
            )
            (C {(shift)})
          ]
          spids: [145 370]
        )
    )
    (C {(set_reflog_action)} {(DQ ($ VSub_Name "$me"))})
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$me") (",") ($ VSub_Name "$replay"))} {(Lit_Other "=")} 
          {(DQ ("revert,t"))}
        )
        (C {(usage)})
      ]
      op_id: Op_DAmp
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$no_commit"))}
      arms: [
        (case_arm
          pat_list: [{(t)}]
          action: [
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:head)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(git-write-tree)})])
                            left_token: <Left_CommandSub "$(">
                            spids: [420 422]
                          )
                        }
                      spids: [419]
                    )
                  ]
                  spids: [419]
                )
                (C {(die)} {(DQ ("Your index file is unmerged."))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [407 408 434 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:head)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(git-rev-parse)} {(--verify)} {(HEAD)})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [441 447]
                          )
                        }
                      spids: [440]
                    )
                  ]
                  spids: [440]
                )
                (C {(die)} {(DQ ("You do not have a valid HEAD"))})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:files)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(git-diff-index)} {(--cached)} {(--name-only)} 
                                    {($ VSub_Name "$head")}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [460 468]
                          )
                        }
                      spids: [459]
                    )
                  ]
                  spids: [459]
                )
                (C {(exit)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$files"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(die)} 
                      {
                        (DQ ("Dirty index: cannot ") ($ VSub_Name "$me") (" (dirty: ") 
                          ($ VSub_Name "$files") (")")
                        )
                      }
                    )
                  ]
                  spids: [-1 486]
                )
              ]
              spids: [-1 500]
            )
          ]
          spids: [436 437 503 -1]
        )
      ]
      spids: [399 405 505]
    )
    (AndOr
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:rev)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(git-rev-parse)} {(--verify)} {(DQ ($ VSub_At "$@"))})]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [509 517]
                  )
                }
              spids: [508]
            )
          ]
          spids: [508]
        )
        (AndOr
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:commit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name "$rev") ("^0"))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [522 531]
                      )
                    }
                  spids: [521]
                )
              ]
              spids: [521]
            )
            (C {(die)} {(DQ ("Not a single commit ") ($ VSub_At "$@"))})
          ]
          op_id: Op_DPipe
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:prev)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [{(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name "$commit") ("^1"))}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [554]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [544 556]
                  )
                }
              spids: [543]
            )
          ]
          spids: [543]
        )
        (C {(die)} {(DQ ("Cannot run ") ($ VSub_Name "$me") (" a root commit"))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name "$commit") ("^2"))}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[578])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[581])
          ]
        )
        (C {(die)} {(DQ ("Cannot run ") ($ VSub_Name "$me") (" a multi-parent commit."))})
      ]
      op_id: Op_DAmp
    )
    (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: [597 609]
              )
            }
          spids: [596]
        )
      ]
      spids: [596]
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$me"))}
      arms: [
        (case_arm
          pat_list: [{(revert)}]
          action: [
            (Pipeline
              children: [
                (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other "=") (oneline)} 
                  {(--encoding) (Lit_Other "=") (DQ ($ VSub_Name "$encoding"))} {($ VSub_Name "$commit")}
                )
                (C {(sed)} {(-e)} {(SQ <"\n"> <"\t\ts/^[^ ]* /Revert \"/\n"> <"\t\ts/$/\"/\n"> <"\t">)})
              ]
              negated: False
            )
            (C {(echo)})
            (C {(echo)} {(DQ ("This reverts commit ") ($ VSub_Name "$commit") (.))})
            (AndOr
              children: [
                (C {(test)} {(DQ ($ VSub_Name "$rev"))} {(Lit_Other "=")} {(DQ ($ VSub_Name "$commit"))})
                (C {(echo)} {(DQ ("(original 'git revert' arguments: ") ($ VSub_At "$@") (")"))})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base)
                  op: Equal
                  rhs: {($ VSub_Name "$commit")}
                  spids: [706]
                )
                (assign_pair
                  lhs: (LhsName name:next)
                  op: Equal
                  rhs: {($ VSub_Name "$prev")}
                  spids: [709]
                )
              ]
              spids: [706]
            )
          ]
          spids: [633 634 713 -1]
        )
        (case_arm
          pat_list: [{(cherry-pick)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pick_author_script)
                  op: Equal
                  rhs: 
                    {(SQ <"\n"> <"\t/^author /{\n"> <"\t\ts/">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"\\\\">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"/g\n"> <"\t\th\n"> <"\t\ts/^author \\([^<]*\\) <[^>]*> .*$/\\1/\n"> 
                        <"\t\ts/">
                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"/g\n"> <"\t\ts/.*/GIT_AUTHOR_NAME=">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"&">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"/p\n"> <"\n"> <"\t\tg\n"> <"\t\ts/^author [^<]* <\\([^>]*\\)> .*$/\\1/\n"> 
                        <"\t\ts/">
                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"/g\n"> <"\t\ts/.*/GIT_AUTHOR_EMAIL=">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"&">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"/p\n"> <"\n"> <"\t\tg\n"> <"\t\ts/^author [^<]* <[^>]*> \\(.*\\)$/\\1/\n"> 
                        <"\t\ts/">
                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"/g\n"> <"\t\ts/.*/GIT_AUTHOR_DATE=">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                      (SQ <"&">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <"/p\n"> <"\n"> <"\t\tq\n"> <"\t}">)
                    }
                  spids: [720]
                )
              ]
              spids: [720]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:logmsg)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other "=") (raw)} 
                                {(--encoding) (Lit_Other "=") (DQ ($ VSub_Name "$encoding"))} {(DQ ($ VSub_Name "$commit"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [823 843]
                      )
                    }
                  spids: [822]
                )
              ]
              spids: [822]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:set_author_env)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {(DQ ($ VSub_Name "$logmsg"))})
                                  (SimpleCommand
                                    words: [{(sed)} {(-ne)} {(DQ ($ VSub_Name "$pick_author_script"))}]
                                    more_env: [
                                      (env_pair
                                        name: LANG
                                        val: {(C)}
                                        spids: [857]
                                      )
                                      (env_pair
                                        name: LC_ALL
                                        val: {(C)}
                                        spids: [860]
                                      )
                                    ]
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [847 870]
                      )
                    }
                  spids: [846]
                )
              ]
              spids: [846]
            )
            (C {(eval)} {(DQ ($ VSub_Name "$set_author_env"))})
            (C {(export)} {(GIT_AUTHOR_NAME)})
            (C {(export)} {(GIT_AUTHOR_EMAIL)})
            (C {(export)} {(GIT_AUTHOR_DATE)})
            (Pipeline
              children: [
                (C {(echo)} {(DQ ($ VSub_Name "$logmsg"))})
                (C {(sed)} {(-e)} {(SQ <"1,/^$/d">)} {(-e)} {(SQ <"s/^    //">)})
              ]
              negated: False
            )
            (Case
              to_match: {(DQ ($ VSub_Name "$replay"))}
              arms: [
                (case_arm
                  pat_list: [{(SQ )}]
                  action: [
                    (C {(echo)} {(DQ ("(cherry picked from commit ") ($ VSub_Name "$commit") (")"))})
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name "$rev"))} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$commit"))}
                        )
                        (C {(echo)} 
                          {(DQ ("(original 'git cherry-pick' arguments: ") ($ VSub_At "$@") (")"))}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 931 967 -1]
                )
              ]
              spids: [920 926 970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base)
                  op: Equal
                  rhs: {($ VSub_Name "$prev")}
                  spids: [973]
                )
                (assign_pair
                  lhs: (LhsName name:next)
                  op: Equal
                  rhs: {($ VSub_Name "$commit")}
                  spids: [976]
                )
              ]
              spids: [973]
            )
          ]
          spids: [716 717 980 -1]
        )
      ]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(.msg)} spids:[985])]
      spids: [625 631 983]
    )
    (C {(eval)} {(GITHEAD_) ($ VSub_Name "$head") (Lit_Other "=") (HEAD)})
    (C {(eval)} 
      {(GITHEAD_) ($ VSub_Name "$next") (Lit_Other "=") 
        (SQ <"$(git show -s \\\n"> <"\t--pretty=oneline --encoding=\"$encoding\" \"$commit\" |\n"> 
          <"\tsed -e \"s/^[^ ]* //\")">
        )
      }
    )
    (C {(export)} {(GITHEAD_) ($ VSub_Name "$head")} {(GITHEAD_) ($ VSub_Name "$next")})
    (AndOr
      children: [
        (C {(eval)} 
          {
            (DQ ("git merge-recursive ") ($ VSub_Name "$xopt") (" ") ($ VSub_Name "$base") (" -- ") 
              ($ VSub_Name "$head") (" ") ($ VSub_Name "$next")
            )
          }
        )
        (AndOr
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(git-write-tree)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [1048]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1045 1050]
                      )
                    }
                  spids: [1044]
                )
              ]
              spids: [1044]
            )
            (BraceGroup
              children: [
                (C {(mv)} {(-f)} {(.msg)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))})
                (BraceGroup
                  children: [
                    (C {(echo)} {(SQ <"\n"> <"Conflicts:\n">)})
                    (Pipeline
                      children: [
                        (C {(git)} {(ls-files)} {(--unmerged)})
                        (C {(sed)} {(-e)} {(SQ <"s/^[^\t]*\t/\t/">)})
                        (C {(uniq)})
                      ]
                      negated: False
                    )
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: -1
                      arg_word: {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))}
                      spids: [1105]
                    )
                  ]
                  spids: [1069]
                )
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ ("Automatic ") ($ VSub_Name "$me") 
                        (" failed.  After resolving the conflicts,")
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1114])]
                )
                (SimpleCommand
                  words: [{(echo)} {(DQ ("mark the corrected paths with 'git-add <paths>'"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1126])]
                )
                (SimpleCommand
                  words: [{(echo)} {(DQ ("and commit the result."))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1136])]
                )
                (Case
                  to_match: {(DQ ($ VSub_Name "$me"))}
                  arms: [
                    (case_arm
                      pat_list: [{(cherry-pick)}]
                      action: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ("You may choose to use the following when making"))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1159])]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ("the commit:"))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1169])]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ($ VSub_Name "$set_author_env"))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1179])]
                        )
                      ]
                      spids: [1153 1154 -1 1187]
                    )
                  ]
                  spids: [1144 1150 1187]
                )
                (C {(exit)} {(1)})
              ]
              spids: [1054]
            )
          ]
          op_id: Op_DPipe
        )
      ]
      op_id: Op_DAmp
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$no_commit"))}
      arms: [
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (C {(git-commit)} {(-n)} {(-F)} {(.msg)} {($ VSub_Name "$edit")})
            (C {(rm)} {(-f)} {(.msg)})
          ]
          spids: [-1 1223 1244 -1]
        )
      ]
      spids: [1213 1219 1246]
    )
  ]
)