(command.CommandList
  children: [
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<git-sh-setup>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LF='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LF='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LF='> name:LF)
          op: assign_op.Equal
          rhs: {(SQ <'\n'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'bases='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'bases='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bases='> name:bases)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
        (AssignPair
          left: <Id.Lit_VarLike 'head='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'head='> name:head)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
        (AssignPair
          left: <Id.Lit_VarLike 'remotes='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'remotes='> name:remotes)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
        (AssignPair
          left: <Id.Lit_VarLike 'sep_seen='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep_seen='> name:sep_seen)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [arg]
      iterable: (for_iter__Args)
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: 
                    {
                      (DQ <','> ($ Id.VSub_DollarName sep_seen) <','> ($ Id.VSub_DollarName head) <','> 
                        ($ Id.VSub_DollarName arg) <','>
                      )
                    }
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [{<Id.Lit_Star '*'> <Id.Lit_Comma ','> <--> <Id.Lit_Comma ','>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'sep_seen='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'sep_seen='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep_seen='> name:sep_seen)
                          op: assign_op.Equal
                          rhs: {<yes>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Comma ','>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Comma ','> <yes> <Id.Lit_Comma ','> <Id.Lit_Comma ','> 
                          <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'head='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'head='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'head='> name:head)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName arg)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Comma ','>
                  pattern: 
                    (pat.Words
                      words: [{<Id.Lit_Comma ','> <yes> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'remotes='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'remotes='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'remotes='> name:remotes)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName remotes) ($ Id.VSub_DollarName arg) <' '>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'bases='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'bases='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bases='> name:bases)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName bases) ($ Id.VSub_DollarName arg) <' '>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName remotes))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Lit_QMark '?'>
          pattern: 
            (pat.Words
              words: [
                {<Id.Lit_QMark '?'> <Id.Lit_Star '*'> (SQ <' '>) <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}
              ]
            )
          middle: <Id.Right_CasePat _>
          action: []
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Pipeline
                  negated: <Id.KW_Bang '!'>
                  children: [
                    (command.Simple
                      blame_tok: <git>
                      more_env: []
                      words: [{<git>} {<diff-index>} {<--quiet>} {<--cached>} {<HEAD>} {<-->}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: []
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <gettextln>
              more_env: []
              words: [
                {<gettextln>}
                {
                  (DQ 
                    <
'Error: Your local changes to the following files would be overwritten by merge'
                    >
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <git>
                  more_env: []
                  words: [{<git>} {<diff-index>} {<--cached>} {<--name-only>} {<HEAD>} {<-->}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [{<sed>} {<-e>} {(SQ <'s/^/    /'>)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})
          ]
          spids: [173 189]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MRC='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MRC='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRC='> name:MRC)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <git>
                    more_env: []
                    words: [{<git>} {<rev-parse>} {<--verify>} {<-q>} {($ Id.VSub_DollarName head)}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MRT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MRT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRT='> name:MRT)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <git>
                    more_env: []
                    words: [{<git>} {<write-tree>}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NON_FF_MERGE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NON_FF_MERGE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NON_FF_MERGE='> name:NON_FF_MERGE)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OCTOPUS_FAILURE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OCTOPUS_FAILURE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OCTOPUS_FAILURE='> name:OCTOPUS_FAILURE)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [SHA1]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName remotes)}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName OCTOPUS_FAILURE))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: (pat.Words words:[{<1>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <gettextln>
                      more_env: []
                      words: [{<gettextln>} {(DQ <'Automated merge did not work.'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <gettextln>
                      more_env: []
                      words: [{<gettextln>} {(DQ <'Should not be doing an octopus.'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<2>}
                    )
                  ]
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'pretty_name='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\$'>
                    ch: '$'
                  ) <Id.Lit_LBrace '{'> <GITHEAD_> ($ Id.VSub_DollarName SHA1) <Id.Lit_Colon ':'> <-> 
                  ($ Id.VSub_DollarName SHA1) <Id.Lit_RBrace '}'>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [
                            {<test>}
                            {(DQ ($ Id.VSub_DollarName SHA1))}
                            {<Id.Lit_Equals '='>}
                            {(DQ ($ Id.VSub_DollarName pretty_name))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'SHA1_UP='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'SHA1_UP='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHA1_UP='> name:SHA1_UP)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <echo>
                                          more_env: []
                                          words: [{<echo>} {(DQ ($ Id.VSub_DollarName SHA1))}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<a-z>} {<A-Z>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'pretty_name='> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                            ch: '$'
                          ) <Id.Lit_LBrace '{'> <GITHEAD_> ($ Id.VSub_DollarName SHA1_UP) <Id.Lit_Colon ':'> <-> 
                          ($ Id.VSub_DollarName pretty_name) <Id.Lit_RBrace '}'>
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [326 341]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.AndOr
              children: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'common='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'common='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'common='> name:common)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <git>
                                more_env: []
                                words: [
                                  {<git>}
                                  {<merge-base>}
                                  {<--all>}
                                  {($ Id.VSub_DollarName SHA1)}
                                  {($ Id.VSub_DollarName MRC)}
                                ]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  blame_tok: <die>
                  more_env: []
                  words: [
                    {<die>}
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <eval_gettext>
                              more_env: []
                              words: [
                                {<eval_gettext>}
                                {
                                  (DQ <'Unable to find common commit with '> 
                                    (word_part.EscapedLiteral
                                      token: <Id.Lit_EscapedChar '\\$'>
                                      ch: '$'
                                    ) <pretty_name>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: 
                    {
                      (DQ ($ Id.VSub_DollarName LF) ($ Id.VSub_DollarName common) 
                        ($ Id.VSub_DollarName LF)
                      )
                    }
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> 
                          (DQ ($ Id.VSub_DollarName LF) ($ Id.VSub_DollarName SHA1) 
                            ($ Id.VSub_DollarName LF)
                          ) <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <eval_gettextln>
                      more_env: []
                      words: [
                        {<eval_gettextln>}
                        {
                          (DQ <'Already up-to-date with '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\$'>
                              ch: '$'
                            ) <pretty_name>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Continue continue>
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [
                            {<test>}
                            {
                              (DQ ($ Id.VSub_DollarName common) <','> 
                                ($ Id.VSub_DollarName NON_FF_MERGE)
                              )
                            }
                            {<Id.Lit_Equals '='>}
                            {(DQ ($ Id.VSub_DollarName MRC) <',0'>)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <eval_gettextln>
                      more_env: []
                      words: [
                        {<eval_gettextln>}
                        {
                          (DQ <'Fast-forwarding to: '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\$'>
                              ch: '$'
                            ) <pretty_name>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <git>
                          more_env: []
                          words: [
                            {<git>}
                            {<read-tree>}
                            {<-u>}
                            {<-m>}
                            {($ Id.VSub_DollarName head)}
                            {($ Id.VSub_DollarName SHA1)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Exit exit>
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'MRC='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'MRC='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRC='> name:MRC)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName SHA1)}
                        )
                        (AssignPair
                          left: <Id.Lit_VarLike 'MRT='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRT='> name:MRT)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <git>
                                    more_env: []
                                    words: [{<git>} {<write-tree>}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Continue continue>
                    )
                  ]
                  spids: [452 470]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'NON_FF_MERGE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'NON_FF_MERGE='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NON_FF_MERGE='> name:NON_FF_MERGE)
                  op: assign_op.Equal
                  rhs: {<1>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <eval_gettextln>
              more_env: []
              words: [
                {<eval_gettextln>}
                {
                  (DQ <'Trying simple merge with '> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\$'>
                      ch: '$'
                    ) <pretty_name>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <git>
                  more_env: []
                  words: [
                    {<git>}
                    {<read-tree>}
                    {<-u>}
                    {<-m>}
                    {<--aggressive>}
                    {($ Id.VSub_DollarName common)}
                    {($ Id.VSub_DollarName MRT)}
                    {($ Id.VSub_DollarName SHA1)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'next='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'next='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'next='> name:next)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <git>
                            more_env: []
                            words: [{<git>} {<write-tree>}]
                            redirects: [
                              (Redir
                                op: <Id.Redir_Great '2>'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<'/dev/null'>}
                              )
                            ]
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <gettextln>
                      more_env: []
                      words: [
                        {<gettextln>}
                        {(DQ <'Simple merge did not work, trying automatic merge.'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <git-merge-index>
                          more_env: []
                          words: [{<git-merge-index>} {<-o>} {<git-merge-one-file>} {<-a>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'OCTOPUS_FAILURE='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'OCTOPUS_FAILURE='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'OCTOPUS_FAILURE='>
                                  name: OCTOPUS_FAILURE
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'next='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'next='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'next='> name:next)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <git>
                                    more_env: []
                                    words: [{<git>} {<write-tree>}]
                                    redirects: [
                                      (Redir
                                        op: <Id.Redir_Great '2>'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<'/dev/null'>}
                                      )
                                    ]
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [582 593]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'MRC='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'MRC='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRC='> name:MRC)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName MRC) <' '> ($ Id.VSub_DollarName SHA1))}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'MRT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'MRT='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MRT='> name:MRT)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName next)}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.ControlFlow
      keyword: <Id.ControlFlow_Exit exit>
      arg_word: {(DQ ($ Id.VSub_DollarName OCTOPUS_FAILURE))}
    )
  ]
)