(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} {<-z>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'usage: git-import branch import-message'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [16 37] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USERNAME) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<git>} {<config>} {<user.name>}) ) ) } spids: [54] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EMAIL) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<git>} {<config>} {<user.email>}) ) ) } spids: [65] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$USERNAME'))} {<-o>} {<-z>} {(DQ ($ Id.VSub_DollarName '$EMAIL'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'You need to set user name and email'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [77 98] ) ] ) (C {<git>} {<init>}) (command.Pipeline children: [ (command.Subshell child: (command.CommandList children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 142 stdin_parts: [ <'commit refs/heads/'> ($ Id.VSub_Number '$1') <'\n'> <'committer '> ($ Id.VSub_DollarName '$USERNAME') <' <'> ($ Id.VSub_DollarName '$EMAIL') <'> now\n'> <'data <<MSGEOF\n'> ($ Id.VSub_Number '$2') <'\n'> <'MSGEOF\n'> <'\n'> ] ) ) ] do_fork: T ) (command.Pipeline children: [ (C {<find>} {<Id.Lit_Star '*'>} {<-type>} {<f>}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<read>} {<i>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<echo>} {(DQ <'M 100644 inline '> ($ Id.VSub_DollarName '$i'))}) (C {<echo>} {<Id.KW_Data data>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<stat>} {<-c>} {(SQ <'%s'>)} {(DQ ($ Id.VSub_DollarName '$i'))}) ) } ) (C {<cat>} {(DQ ($ Id.VSub_DollarName '$i'))}) (C {<echo>}) ] ) ) ] negated: F ) (C {<echo>}) ] ) ) (C {<git>} {<fast-import>} {<--date-format> <Id.Lit_Equals '='> <now>}) ] negated: F ) ] )