(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(-o)} {(-z)} 
                  {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('usage: git-import branch import-message'))})
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 37]
        )
      ]
      spids: [16777215 51]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:USERNAME spids:[54])
          op: Equal
          rhs: 
            {
              (DQ 
                (word_part.CommandSubPart
                  command_list: (command.CommandList children:[(C {(git)} {(config)} {(user.name)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [56 62]
                )
              )
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:EMAIL spids:[65])
          op: Equal
          rhs: 
            {
              (DQ 
                (word_part.CommandSubPart
                  command_list: 
                    (command.CommandList
                      children: [(C {(git)} {(config)} {(user.email)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [67 73]
                )
              )
            }
          spids: [65]
        )
      ]
      spids: [65]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$USERNAME'))} {(-o)} {(-z)} 
                  {(DQ ($ VSub_DollarName '$EMAIL'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('You need to set user name and email'))})
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 98]
        )
      ]
      spids: [16777215 112]
    )
    (C {(git)} {(init)})
    (command.Pipeline
      children: [
        (command.Subshell
          child: 
            (command.CommandList
              children: [
                (command.SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (redir.HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(EOF)}
                      here_end_span_id: 142
                      stdin_parts: [
                        ('commit refs/heads/')
                        ($ VSub_Number '$1')
                        ('\n')
                        ('committer ')
                        ($ VSub_DollarName '$USERNAME')
                        (' <')
                        ($ VSub_DollarName '$EMAIL')
                        ('> now\n')
                        ('data <<MSGEOF\n')
                        ($ VSub_Number '$2')
                        ('\n')
                        ('MSGEOF\n')
                        ('\n')
                      ]
                    )
                  ]
                )
                (command.Pipeline
                  children: [
                    (C {(find)} {(Lit_Other '*')} {(-type)} {(f)})
                    (command.WhileUntil
                      keyword: <KW_While while>
                      cond: [(command.Sentence child:(C {(read)} {(i)}) terminator:<Op_Semi ';'>)]
                      body: 
                        (command.DoGroup
                          children: [
                            (C {(echo)} {(DQ ('M 100644 inline ') ($ VSub_DollarName '$i'))})
                            (C {(echo)} {(data)} 
                              {
                                (word_part.CommandSubPart
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(stat)} {(-c)} {(SQ <'%s'>)} {(DQ ($ VSub_DollarName '$i'))})
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [173 185]
                                )
                              }
                            )
                            (C {(cat)} {(DQ ($ VSub_DollarName '$i'))})
                            (C {(echo)})
                          ]
                          spids: [158 198]
                        )
                    )
                  ]
                  negated: F
                )
                (C {(echo)})
              ]
            )
          spids: [120 203]
        )
        (C {(git)} {(fast-import)} {(--date-format) (Lit_Other '=') (now)})
      ]
      negated: F
    )
  ]
)