(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:prec spids:[27]) op:Equal rhs:{(4)} spids:[27])] spids: [27] ) (command.FuncDef name: read_state body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:onto_name spids:[39]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/onto_name)})] ) left_token: <Left_CommandSub '$('> spids: [40 47] ) } spids: [39] ) ] spids: [39] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:end spids:[52]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/end)})] ) left_token: <Left_CommandSub '$('> spids: [53 60] ) } spids: [52] ) ] spids: [52] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[65]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/msgnum)})] ) left_token: <Left_CommandSub '$('> spids: [66 73] ) } spids: [65] ) ] spids: [65] ) ] ) ] spids: [36] ) spids: [31 35] ) (command.FuncDef name: continue_merge body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {(DQ ($ VSub_Name '$state_dir'))}) (C {(die)} {(DQ ($ VSub_Name '$state_dir') (' directory does not exist'))}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:unmerged spids:[105]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(ls-files)} {(-u)})] ) left_token: <Left_CommandSub '$('> spids: [106 112] ) } spids: [105] ) ] spids: [105] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$unmerged'))})] action: [ (C {(echo)} {(DQ ('You still have unmerged paths in your index'))}) (C {(echo)} {(DQ ('did you forget to use git add?'))}) (C {(die)} {(DQ ($ VSub_Name '$resolvemsg'))}) ] spids: [16777215 126] ) ] spids: [16777215 150] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt spids:[154]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir') (/current))})] ) left_token: <Left_CommandSub '$('> spids: [155 162] ) } spids: [154] ) ] spids: [154] ) (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {(git)} {(diff-index)} {(--quiet)} {(--ignore-submodules)} {(HEAD)} {(--)}) ] negated: T ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {(git)} {(commit)} { (word_part.BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [193 199] ) } {(--no-verify)} {(-C)} {(DQ ($ VSub_Name '$cmt'))} ) ] negated: T ) ] action: [ (C {(echo)} { (DQ ('Commit failed, please do not call ') (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ('git commit') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(echo)} {(DQ ('directly, but instead do one of the following: '))}) (C {(die)} {(DQ ($ VSub_Name '$resolvemsg'))}) ] spids: [16777215 210] ) ] spids: [16777215 237] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_QUIET'))})] action: [ (C {(printf)} {(DQ ('Committed: %0') (${ VSub_Name prec) ('d '))} {($ VSub_Name '$msgnum')} ) ] spids: [16777215 251] ) ] spids: [16777215 267] ) (command.SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$cmt') (' ') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(HEAD) (Lit_Other '^') (0)})] ) left_token: <Left_CommandSub '$('> spids: [275 283] ) ) } ] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/rewritten))} ) ] ) ] spids: [16777215 182] ) ] else_action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_QUIET'))})] action: [ (C {(printf)} {(DQ ('Already applied: %0') (${ VSub_Name prec) ('d '))} {($ VSub_Name '$msgnum')} ) ] spids: [16777215 308] ) ] spids: [16777215 324] ) ] spids: [294 327] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_QUIET'))}) (command.SimpleCommand words: [ {(git)} {(log)} {(--format) (Lit_Other '=') (Lit_Other '%') (s)} {(-1)} {(DQ ($ VSub_Name '$cmt'))} ] more_env: [(env_pair name:GIT_PAGER val:{(SQ )} spids:[341])] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[366]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_Name '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [367 374] ) } spids: [366] ) ] spids: [366] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$msgnum'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/msgnum))} ) ] ) ] spids: [83] ) spids: [78 82] ) (command.FuncDef name: call_merge body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[400]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [400] ) ] spids: [400] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$msgnum'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/msgnum))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt spids:[419]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir') (/cmt.) ($ VSub_Name '$msgnum'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [421 429] ) ) } spids: [419] ) ] spids: [419] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$cmt'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/current))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hd spids:[447]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [448 456] ) } spids: [447] ) ] spids: [447] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt_name spids:[459]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [{(git)} {(symbolic-ref)} {(HEAD)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(echo)} {(HEAD)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [460 476] ) } spids: [459] ) ] spids: [459] ) (C {(eval)} {(GITHEAD_) ($ VSub_Name '$cmt') (Lit_Other '=') (SQ <'"${cmt_name##refs/heads/}~$(($end - $msgnum))"'>) } ) (C {(eval)} {(GITHEAD_) ($ VSub_Name '$hd') (Lit_Other '=') (SQ <'$onto_name'>)}) (C {(export)} {(GITHEAD_) ($ VSub_Name '$cmt')} {(GITHEAD_) ($ VSub_Name '$hd')}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$GIT_QUIET'))})] action: [ (command.AndOr ops: [Op_DAmp] children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_MERGE_VERBOSITY spids:[522]) op: Equal rhs: {(1)} spids: [522] ) ] spids: [522] ) (C {(export)} {(GIT_MERGE_VERBOSITY)}) ] ) ] spids: [16777215 519] ) ] spids: [16777215 532] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$strategy'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:strategy spids:[545]) op: Equal rhs: {(recursive)} spids: [545] ) ] spids: [545] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[553]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {($ VSub_Name '$cmt') (Lit_Other '^')} ) ] ) left_token: <Left_CommandSub '$('> spids: [554 565] ) } spids: [553] ) ] spids: [553] ) (C {(eval)} {(SQ <'git-merge-$strategy'>)} {($ VSub_Name '$strategy_opts')} {($ VSub_Name '$base')} {(SQ <' -- "$hd" "$cmt"'>)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:rv spids:[583]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [583] ) ] spids: [583] ) (command.Case to_match: {(DQ ($ VSub_Name '$rv'))} arms: [ (case_arm pat_list: [{(0)}] action: [ (C {(unset)} {(GITHEAD_) ($ VSub_Name '$cmt')} {(GITHEAD_) ($ VSub_Name '$hd')}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [596 597 612 16777215] ) (case_arm pat_list: [{(1)}] action: [ (C {(git)} {(rerere)} {($ VSub_Name '$allow_rerere_autoupdate')}) (C {(die)} {(DQ ($ VSub_Name '$resolvemsg'))}) ] spids: [615 616 633 16777215] ) (case_arm pat_list: [{(2)}] action: [ (command.SimpleCommand words: [ {(echo)} {(DQ ('Strategy: ') ($ VSub_Name '$strategy') (' failed, try another'))} ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (C {(die)} {(DQ ($ VSub_Name '$resolvemsg'))}) ] spids: [636 637 659 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(die)} {(DQ ('Unknown exit code (') ($ VSub_Name '$rv') (') from command:'))} { (DQ (git-merge-) ($ VSub_Name '$strategy') (' ') ($ VSub_Name '$cmt') ('^ -- HEAD ') ($ VSub_Name '$cmt') ) } ) ] spids: [662 663 686 16777215] ) ] spids: [587 593 689] ) ] spids: [397] ) spids: [392 396] ) (command.FuncDef name: finish_rb_merge body: (command.BraceGroup children: [ (C {(move_to_original_branch)}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name '$state_dir')) (/rewritten)})] action: [ (command.SimpleCommand words: [{(git)} {(notes)} {(copy)} {(--for-rewrite) (Lit_Other '=') (rebase)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/rewritten)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hook spids:[737]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(--git-path)} {(hooks/post-rewrite)}) ] ) left_token: <Left_CommandSub '$('> spids: [739 747] ) ) } spids: [737] ) ] spids: [737] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-x)} {(DQ ($ VSub_Name '$hook'))}) (command.SimpleCommand words: [{(DQ ($ VSub_Name '$hook'))} {(rebase)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/rewritten)} ) ] ) ] ) ] spids: [16777215 717] ) ] spids: [16777215 774] ) (C {(say)} {(All)} {(done.)}) ] spids: [699] ) spids: [694 698] ) (command.FuncDef name: git_rebase__merge body: (command.BraceGroup children: [ (command.Case to_match: {(DQ ($ VSub_Name '$action'))} arms: [ (case_arm pat_list: [{(ControlFlow_Continue continue)}] action: [ (C {(read_state)}) (C {(continue_merge)}) (command.WhileUntil keyword: <KW_While while> cond: [ (C {(test)} {(DQ ($ VSub_Name '$msgnum'))} {(-le)} {(DQ ($ VSub_Name '$end'))}) ] body: (command.DoGroup children: [ (C {(call_merge)} {(DQ ($ VSub_Name '$msgnum'))}) (C {(continue_merge)}) ] spids: [854 867] ) ) (C {(finish_rb_merge)}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [829 830 876 16777215] ) (case_arm pat_list: [{(skip)}] action: [ (C {(read_state)}) (C {(git)} {(rerere)} {(clear)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[892]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_Name '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [893 900] ) } spids: [892] ) ] spids: [892] ) (command.WhileUntil keyword: <KW_While while> cond: [ (C {(test)} {(DQ ($ VSub_Name '$msgnum'))} {(-le)} {(DQ ($ VSub_Name '$end'))}) ] body: (command.DoGroup children: [ (C {(call_merge)} {(DQ ($ VSub_Name '$msgnum'))}) (C {(continue_merge)}) ] spids: [918 931] ) ) (C {(finish_rb_merge)}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [878 879 940 16777215] ) ] spids: [821 827 942] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$state_dir'))}) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$onto_name'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/onto_name))} ) ] ) (C {(write_basic_state)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[969]) op: Equal rhs: {(0)} spids: [969] ) ] spids: [969] ) (command.ForEach iter_name: cmt iter_words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(rev-list)} {(--reverse)} {(--no-merges)} {(DQ ($ VSub_Name '$revisions'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [978 990] ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[995]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_Name '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [996 1003] ) } spids: [995] ) ] spids: [995] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$cmt'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/cmt.) ($ VSub_Name '$msgnum'))} ) ] ) ] spids: [992 1020] ) spids: [977 16777215] ) (command.SimpleCommand words: [{(echo)} {(1)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/msgnum))} ) ] ) (command.SimpleCommand words: [{(echo)} {($ VSub_Name '$msgnum')}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/end))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:end spids:[1044]) op: Equal rhs: {($ VSub_Name '$msgnum')} spids: [1044] ) ] spids: [1044] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[1047]) op: Equal rhs: {(1)} spids: [1047] ) ] spids: [1047] ) (command.WhileUntil keyword: <KW_While while> cond: [(C {(test)} {(DQ ($ VSub_Name '$msgnum'))} {(-le)} {(DQ ($ VSub_Name '$end'))})] body: (command.DoGroup children: [(C {(call_merge)} {(DQ ($ VSub_Name '$msgnum'))}) (C {(continue_merge)})] spids: [1065 1077] ) ) (C {(finish_rb_merge)}) ] spids: [818] ) spids: [813 817] ) (C {(git_rebase__merge)}) ] )