(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:repository)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 1>
                suffix_op: (StringUnary op_id:VTest_QMark arg_word:{(repository)})
                spids: [8 12]
              )
            }
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:destdir)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 2>
                suffix_op: (StringUnary op_id:VTest_QMark arg_word:{(destination)})
                spids: [15 19]
              )
            }
          spids: [14]
        )
      ]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair lhs:(LhsName name:head) op:Equal rhs:{(master)} spids:[22])
        (assign_pair lhs:(LhsName name:GIT_DIR) op:Equal rhs:{(SQ )} spids:[25])
      ]
      spids: [22]
    )
    (ForEach
      iter_name: d
      iter_words: [{(DQ ($ VSub_Name '$repository') (/.git))} {(DQ ($ VSub_Name '$repository'))}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (SimpleCommand
                      words: [{(git)} {(rev-parse)} {(refs/heads/master)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [58]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [61]
                        )
                      ]
                      more_env: [(env_pair name:GIT_DIR val:{(DQ ($ VSub_Name '$d'))} spids:[47])]
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GIT_DIR)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$d'))}
                          spids: [68]
                        )
                      ]
                      spids: [68]
                    )
                    (C {(export)} {(GIT_DIR)})
                    (ControlFlow token:<ControlFlow_Break break>)
                  ]
                  spids: [-1 65]
                )
              ]
              spids: [-1 82]
            )
          ]
          spids: [42 84]
        )
      spids: [32 -1]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_DIR'))})]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('Neither ') ($ VSub_Name '$repository') (' nor ') ($ VSub_Name '$repository') 
                    ('/.git is a repository')
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[102])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 97]
        )
      ]
      spids: [-1 118]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GIT_WORK_TREE)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [122 124]
              )
            }
          spids: [121]
        )
      ]
      spids: [121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GIT_INDEX_FILE)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [127 129]
              ) (/.quick-doc.) ($ VSub_Dollar '$$')
            }
          spids: [126]
        )
      ]
      spids: [126]
    )
    (C {(export)} {(GIT_INDEX_FILE)} {(GIT_WORK_TREE)})
    (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_INDEX_FILE'))})
    (C {(trap)} {(SQ <'rm -f "$GIT_INDEX_FILE"'>)} {(0)})
    (C {(git)} {(read-tree)} {($ VSub_Name '$head')})
    (C {(git)} {(checkout-index)} {(-a)} {(-f)} 
      {(--prefix) (Lit_Other '=') (DQ ($ VSub_Name '$destdir')) (/)}
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$GZ'))})]
          action: [
            (Pipeline
              children: [
                (C {(git)} {(ls-tree)} {(-r)} {(--name-only)} {($ VSub_Name '$head')})
                (C {(xargs)} {(printf)} 
                  {
                    (DQ ($ VSub_Name '$destdir') ('/%s') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>)
                    )
                  }
                )
                (C {(xargs)} {(gzip)} {(-f)})
              ]
              negated: False
            )
          ]
          spids: [-1 188]
        )
      ]
      spids: [-1 223]
    )
    (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_INDEX_FILE'))})
  ]
)