(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repository spids:[15]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id:VTest_QMark arg_word:{(repository)}) spids: [16 20] ) } spids: [15] ) ] spids: [15] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:destdir spids:[22]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 2> suffix_op: (suffix_op.StringUnary op_id:VTest_QMark arg_word:{(destination)}) spids: [23 27] ) } spids: [22] ) ] spids: [22] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:head spids:[30]) op: Equal rhs: {(master)} spids: [30] ) (assign_pair lhs: (lhs_expr.LhsName name:GIT_DIR spids:[33]) op: Equal rhs: (word.EmptyWord) spids: [33] ) ] spids: [30] ) (command.ForEach iter_name: d iter_words: [{(DQ ($ VSub_Name '$repository') (/.git))} {(DQ ($ VSub_Name '$repository'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.SimpleCommand words: [{(git)} {(rev-parse)} {(refs/heads/master)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] more_env: [(env_pair name:GIT_DIR val:{(DQ ($ VSub_Name '$d'))} spids:[55])] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_DIR spids:[76]) op: Equal rhs: {(DQ ($ VSub_Name '$d'))} spids: [76] ) ] spids: [76] ) (C {(export)} {(GIT_DIR)}) (command.ControlFlow token:<ControlFlow_Break break>) ] spids: [16777215 73] ) ] spids: [16777215 90] ) ] spids: [50 92] ) spids: [40 16777215] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_DIR'))})] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('Neither ') ($ VSub_Name '$repository') (' nor ') ($ VSub_Name '$repository') ('/.git is a repository') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 105] ) ] spids: [16777215 126] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_WORK_TREE spids:[129]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [130 132] ) } spids: [129] ) ] spids: [129] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_INDEX_FILE spids:[134]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [135 137] ) (/.quick-doc.) ($ VSub_Dollar '$$') } spids: [134] ) ] spids: [134] ) (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')) (/)} ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$GZ'))})] action: [ (command.Pipeline children: [ (C {(git)} {(ls-tree)} {(-r)} {(--name-only)} {($ VSub_Name '$head')}) (C {(xargs)} {(printf)} {(DQ ($ VSub_Name '$destdir') ('/%s') (Lit_Other '\\') (n))}) (C {(xargs)} {(gzip)} {(-f)}) ] negated: F ) ] spids: [16777215 196] ) ] spids: [16777215 232] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_INDEX_FILE'))}) ] )