(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ('testgit::') ($ VSub_Number '$2'))} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:alias) op:Equal rhs:{(_)} spids:[32])] spids: [32] ) ] spids: [16777215 29] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:alias) op: Equal rhs: {($ VSub_Number '$1')} spids: [38] ) ] spids: [38] ) ] spids: [35 41] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:url) op:Equal rhs:{($ VSub_Number '$2')} spids:[43])] spids: [43] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: {(DQ ($ VSub_Name '$GIT_DIR') (/testgit/) ($ VSub_Name '$alias'))} spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(DQ (refs/testgit/) ($ VSub_Name '$alias'))} spids: [54] ) ] spids: [54] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:default_refspec) op: Equal rhs: {(DQ ('refs/heads/*:') (${ VSub_Name prefix) ('/heads/*'))} spids: [61] ) ] spids: [61] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:refspec) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GIT_REMOTE_TESTGIT_REFSPEC> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {($ VSub_Name '$default_refspec')} ) spids: [73 77] ) ) } spids: [71] ) ] spids: [71] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$refspec'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:prefix) op:Equal rhs:{(DQ (refs))} spids:[91])] spids: [91] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_DIR) op: Equal rhs: {(DQ ($ VSub_Name '$url') (/.git))} spids: [97] ) ] spids: [97] ) (C {(export)} {(GIT_DIR)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:force) op:Equal rhs:{(EmptyPart)} spids:[108])] spids: [108] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$dir'))}) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_NO_MARKS'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gitmarks) op: Equal rhs: {(DQ ($ VSub_Name '$dir') (/git.marks))} spids: [133] ) ] spids: [133] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testgitmarks) op: Equal rhs: {(DQ ($ VSub_Name '$dir') (/testgit.marks))} spids: [140] ) ] spids: [140] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(DQ ($ VSub_Name '$gitmarks'))}) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$gitmarks'))} spids: [157] ) ] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-e)} {(DQ ($ VSub_Name '$testgitmarks'))}) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$testgitmarks'))} spids: [173] ) ] ) ] ) ] spids: [16777215 130] ) ] spids: [16777215 178] ) (While cond: [(C {(read)} {(line)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$line')} arms: [ (case_arm pat_list: [{(capabilities)}] action: [ (C {(echo)} {(SQ <import>)}) (C {(echo)} {(SQ <export>)}) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$refspec'))}) (C {(echo)} {(DQ ('refspec ') ($ VSub_Name '$refspec'))}) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$gitmarks'))})] action: [ (C {(echo)} {(DQ ('*import-marks ') ($ VSub_Name '$gitmarks'))}) (C {(echo)} {(DQ ('*export-marks ') ($ VSub_Name '$gitmarks'))}) ] spids: [16777215 244] ) ] spids: [16777215 263] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_SIGNED_TAGS'))}) (C {(echo)} {(DQ (signed-tags))}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_NO_PRIVATE_UPDATE'))}) (C {(echo)} {(DQ (no-private-update))}) ] ) (C {(echo)} {(SQ <option>)}) (C {(echo)}) ] spids: [197 198 310 16777215] ) (case_arm pat_list: [{(list)}] action: [ (C {(git)} {(for-each-ref)} {(--format) (Lit_Other '=') (SQ <'? %(refname)'>)} {(SQ <refs/heads/>)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(symbolic-ref)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [333 339] ) } spids: [332] ) ] spids: [332] ) (C {(echo)} {(DQ ('@') ($ VSub_Name '$head') (' HEAD'))}) (C {(echo)}) ] spids: [313 314 354 16777215] ) (case_arm pat_list: [{(import) (Lit_Other '*')}] action: [ (While cond: [(C {(true)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ref) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name line> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('* ')}) spids: [376 380] ) ) } spids: [374] ) ] spids: [374] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:refs) op: Equal rhs: {(DQ ($ VSub_Name '$refs') (' ') ($ VSub_Name '$ref'))} spids: [384] ) ] spids: [384] ) (C {(read)} {(line)}) (AndOr ops: [Op_DAmp] children: [ (C {(test)} { (DQ (BracedVarSub token: <VSub_Name line> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')}) spids: [400 404] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (import))} ) (ControlFlow token: <ControlFlow_Break break> ) ] ) ] spids: [371 419] ) ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$gitmarks'))})] action: [ (C {(echo)} {(DQ ('feature import-marks=') ($ VSub_Name '$gitmarks'))}) (C {(echo)} {(DQ ('feature export-marks=') ($ VSub_Name '$gitmarks'))}) ] spids: [16777215 434] ) ] spids: [16777215 453] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_FAILURE'))})] action: [ (C {(echo)} {(DQ ('feature done'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 468] ) ] spids: [16777215 483] ) (C {(echo)} {(DQ ('feature done'))}) (Pipeline children: [ (C {(git)} {(fast-export)} { (BracedVarSub token: <VSub_Name testgitmarks> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('--import-marks=') ($ VSub_Name '$testgitmarks'))} ) spids: [500 507] ) } { (BracedVarSub token: <VSub_Name testgitmarks> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('--export-marks=') ($ VSub_Name '$testgitmarks'))} ) spids: [511 518] ) } {($ VSub_Name '$refs')} ) (C {(sed)} {(-e)} {(DQ ('s#refs/heads/#') (${ VSub_Name prefix) ('/heads/#g'))}) ] negated: F ) (C {(echo)} {(DQ (done))}) ] spids: [357 359 547 16777215] ) (case_arm pat_list: [{(export)}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_FAILURE'))})] action: [ (While cond: [(Sentence child:(C {(read)} {(line)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ (done))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$line'))} ) (ControlFlow token: <ControlFlow_Break break> ) ] ) ] spids: [591 611] ) ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 565] ) ] spids: [16777215 619] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:before) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(for-each-ref)} {(--format) (Lit_Other '=') (SQ <' %(refname) %(objectname) '>) } ) ] ) left_token: <Left_CommandSub '$('> spids: [624 634] ) } spids: [623] ) ] spids: [623] ) (C {(git)} {(fast-import)} { (BracedVarSub token: <VSub_Name force> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--force)}) spids: [644 648] ) } { (BracedVarSub token: <VSub_Name testgitmarks> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('--import-marks=') ($ VSub_Name '$testgitmarks'))} ) spids: [652 659] ) } { (BracedVarSub token: <VSub_Name testgitmarks> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('--export-marks=') ($ VSub_Name '$testgitmarks'))} ) spids: [663 670] ) } {(--quiet)} ) (Pipeline children: [ (C {(git)} {(for-each-ref)} {(--format) (Lit_Other '=') (SQ <'%(refname) %(objectname)'>)} ) (While cond: [(C {(read)} {(ref)} {(a)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$before'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$ref') (' ') ($ VSub_Name '$a') (' ')) (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [716 725 730 16777215] ) ] spids: [707 713 736] ) (If arms: [ (if_arm cond: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_REMOTE_TESTGIT_PUSH_ERROR'))} ) ] action: [(C {(echo)} {(DQ ('ok ') ($ VSub_Name '$ref'))})] spids: [16777215 750] ) ] else_action: [ (C {(echo)} { (DQ ('error ') ($ VSub_Name '$ref') (' ') ($ VSub_Name '$GIT_REMOTE_TESTGIT_PUSH_ERROR') ) } ) ] spids: [761 774] ) ] spids: [704 777] ) ) ] negated: F ) (C {(echo)}) ] spids: [550 551 784 16777215] ) (case_arm pat_list: [ {(option) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other '*')} ] action: [ (SimpleCommand words: [{(read)} {(cmd)} {(opt)} {(val)}] redirects: [ (HereDoc op_id: Redir_DLessDash fd: 16777215 body: {(DQ ($ VSub_Name '$line') ('\n'))} do_expansion: True here_end: EOF was_filled: T spids: [801] ) ] ) (Case to_match: {($ VSub_Name '$opt')} arms: [ (case_arm pat_list: [{(force)}] action: [ (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {($ VSub_Name '$val')} {(Lit_Other '=')} {(DQ (true))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force) op: Equal rhs: {(DQ (true))} spids: [831] ) ] spids: [831] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force) op: Equal rhs: {(EmptyPart)} spids: [838] ) ] spids: [838] ) ] ) (C {(echo)} {(DQ (ok))}) ] spids: [815 816 848 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(echo)} {(DQ (unsupported))})] spids: [851 852 862 16777215] ) ] spids: [808 812 865] ) ] spids: [787 790 868 16777215] ) (case_arm pat_list: [{(SQ )}] action: [(ControlFlow token:<ControlFlow_Exit exit>)] spids: [16777215 873 879 16777215] ) ] spids: [190 194 882] ) ] spids: [187 884] ) ) ] )