(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:prec spids:[19]) op:Equal rhs:{(4)} spids:[19])] spids: [19] ) (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:[31]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(DQ ($ VSub_DollarName '$state_dir')) (/onto_name)}) ] ) left_token: <Left_CommandSub '$('> spids: [32 39] ) } spids: [31] ) ] spids: [31] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:end spids:[44]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_DollarName '$state_dir')) (/end)})] ) left_token: <Left_CommandSub '$('> spids: [45 52] ) } spids: [44] ) ] spids: [44] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[57]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {(DQ ($ VSub_DollarName '$state_dir')) (/msgnum)}) ] ) left_token: <Left_CommandSub '$('> spids: [58 65] ) } spids: [57] ) ] spids: [57] ) ] ) ] spids: [28] ) spids: [23 27] ) (command.FuncDef name: continue_merge body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {(DQ ($ VSub_DollarName '$state_dir'))}) (C {(die)} {(DQ ($ VSub_DollarName '$state_dir') (' directory does not exist'))}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:unmerged spids:[97]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(ls-files)} {(-u)})] ) left_token: <Left_CommandSub '$('> spids: [98 104] ) } spids: [97] ) ] spids: [97] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$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_DollarName '$resolvemsg'))}) ] spids: [16777215 118] ) ] spids: [16777215 142] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt spids:[146]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(cat)} {(DQ ($ VSub_DollarName '$state_dir') (/current))})] ) left_token: <Left_CommandSub '$('> spids: [147 154] ) } spids: [146] ) ] spids: [146] ) (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_DollarName '$gpg_sign_opt'))} ) spids: [185 191] ) } {(--no-verify)} {(-C)} {(DQ ($ VSub_DollarName '$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_DollarName '$resolvemsg'))}) ] spids: [16777215 202] ) ] spids: [16777215 229] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$GIT_QUIET'))})] action: [ (C {(printf)} {(DQ ('Committed: %0') (${ VSub_Name prec) ('d '))} {($ VSub_DollarName '$msgnum')} ) ] spids: [16777215 243] ) ] spids: [16777215 259] ) (command.SimpleCommand words: [ {(echo)} { (DQ ($ VSub_DollarName '$cmt') (' ') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(HEAD) (Lit_Other '^') (0)})] ) left_token: <Left_CommandSub '$('> spids: [267 275] ) ) } ] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/rewritten))} ) ] ) ] spids: [16777215 174] ) ] else_action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$GIT_QUIET'))})] action: [ (C {(printf)} {(DQ ('Already applied: %0') (${ VSub_Name prec) ('d '))} {($ VSub_DollarName '$msgnum')} ) ] spids: [16777215 300] ) ] spids: [16777215 316] ) ] spids: [286 319] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$GIT_QUIET'))}) (command.SimpleCommand words: [ {(git)} {(log)} {(--format) (Lit_Other '=') (Lit_Other '%') (s)} {(-1)} {(DQ ($ VSub_DollarName '$cmt'))} ] more_env: [(env_pair name:GIT_PAGER val:{(SQ )} spids:[333])] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[358]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_DollarName '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [359 366] ) } spids: [358] ) ] spids: [358] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$msgnum'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/msgnum))} ) ] ) ] spids: [75] ) spids: [70 74] ) (command.FuncDef name: call_merge body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[392]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [392] ) ] spids: [392] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$msgnum'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/msgnum))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt spids:[411]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} { (DQ ($ VSub_DollarName '$state_dir') (/cmt.) ($ VSub_DollarName '$msgnum') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [413 421] ) ) } spids: [411] ) ] spids: [411] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$cmt'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/current))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hd spids:[439]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [440 448] ) } spids: [439] ) ] spids: [439] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cmt_name spids:[451]) 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: [452 468] ) } spids: [451] ) ] spids: [451] ) (C {(eval)} {(GITHEAD_) ($ VSub_DollarName '$cmt') (Lit_Other '=') (SQ <'"${cmt_name##refs/heads/}~$(($end - $msgnum))"'>) } ) (C {(eval)} {(GITHEAD_) ($ VSub_DollarName '$hd') (Lit_Other '=') (SQ <'$onto_name'>)}) (C {(export)} {(GITHEAD_) ($ VSub_DollarName '$cmt')} {(GITHEAD_) ($ VSub_DollarName '$hd')}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$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:[514]) op: Equal rhs: {(1)} spids: [514] ) ] spids: [514] ) (C {(export)} {(GIT_MERGE_VERBOSITY)}) ] ) ] spids: [16777215 511] ) ] spids: [16777215 524] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$strategy'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:strategy spids:[537]) op: Equal rhs: {(recursive)} spids: [537] ) ] spids: [537] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[545]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {($ VSub_DollarName '$cmt') (Lit_Other '^')} ) ] ) left_token: <Left_CommandSub '$('> spids: [546 557] ) } spids: [545] ) ] spids: [545] ) (C {(eval)} {(SQ <'git-merge-$strategy'>)} {($ VSub_DollarName '$strategy_opts')} {($ VSub_DollarName '$base')} {(SQ <' -- "$hd" "$cmt"'>)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:rv spids:[575]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [575] ) ] spids: [575] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$rv'))} arms: [ (case_arm pat_list: [{(0)}] action: [ (C {(unset)} {(GITHEAD_) ($ VSub_DollarName '$cmt')} {(GITHEAD_) ($ VSub_DollarName '$hd')} ) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [588 589 604 16777215] ) (case_arm pat_list: [{(1)}] action: [ (C {(git)} {(rerere)} {($ VSub_DollarName '$allow_rerere_autoupdate')}) (C {(die)} {(DQ ($ VSub_DollarName '$resolvemsg'))}) ] spids: [607 608 625 16777215] ) (case_arm pat_list: [{(2)}] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('Strategy: ') ($ VSub_DollarName '$strategy') (' failed, try another')) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (C {(die)} {(DQ ($ VSub_DollarName '$resolvemsg'))}) ] spids: [628 629 651 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(die)} {(DQ ('Unknown exit code (') ($ VSub_DollarName '$rv') (') from command:'))} { (DQ (git-merge-) ($ VSub_DollarName '$strategy') (' ') ($ VSub_DollarName '$cmt') ('^ -- HEAD ') ($ VSub_DollarName '$cmt') ) } ) ] spids: [654 655 678 16777215] ) ] spids: [579 585 681] ) ] spids: [389] ) spids: [384 388] ) (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_DollarName '$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_DollarName '$state_dir')) (/rewritten)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hook spids:[729]) 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: [731 739] ) ) } spids: [729] ) ] spids: [729] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-x)} {(DQ ($ VSub_DollarName '$hook'))}) (command.SimpleCommand words: [{(DQ ($ VSub_DollarName '$hook'))} {(rebase)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir')) (/rewritten)} ) ] ) ] ) ] spids: [16777215 709] ) ] spids: [16777215 766] ) (C {(say)} {(All)} {(done.)}) ] spids: [691] ) spids: [686 690] ) (command.FuncDef name: git_rebase__merge body: (command.BraceGroup children: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$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_DollarName '$msgnum'))} {(-le)} {(DQ ($ VSub_DollarName '$end'))} ) ] body: (command.DoGroup children: [ (C {(call_merge)} {(DQ ($ VSub_DollarName '$msgnum'))}) (C {(continue_merge)}) ] spids: [846 859] ) ) (C {(finish_rb_merge)}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [821 822 868 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:[884]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_DollarName '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [885 892] ) } spids: [884] ) ] spids: [884] ) (command.WhileUntil keyword: <KW_While while> cond: [ (C {(test)} {(DQ ($ VSub_DollarName '$msgnum'))} {(-le)} {(DQ ($ VSub_DollarName '$end'))} ) ] body: (command.DoGroup children: [ (C {(call_merge)} {(DQ ($ VSub_DollarName '$msgnum'))}) (C {(continue_merge)}) ] spids: [910 923] ) ) (C {(finish_rb_merge)}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [870 871 932 16777215] ) ] spids: [813 819 934] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$state_dir'))}) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$onto_name'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/onto_name))} ) ] ) (C {(write_basic_state)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[961]) op: Equal rhs: {(0)} spids: [961] ) ] spids: [961] ) (command.ForEach iter_name: cmt iter_words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(rev-list)} {(--reverse)} {(--no-merges)} {(DQ ($ VSub_DollarName '$revisions'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [970 982] ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[987]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_DollarName '$msgnum')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [988 995] ) } spids: [987] ) ] spids: [987] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_DollarName '$cmt'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: { (DQ ($ VSub_DollarName '$state_dir') (/cmt.) ($ VSub_DollarName '$msgnum') ) } ) ] ) ] spids: [984 1012] ) spids: [969 16777215] ) (command.SimpleCommand words: [{(echo)} {(1)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/msgnum))} ) ] ) (command.SimpleCommand words: [{(echo)} {($ VSub_DollarName '$msgnum')}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$state_dir') (/end))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:end spids:[1036]) op: Equal rhs: {($ VSub_DollarName '$msgnum')} spids: [1036] ) ] spids: [1036] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msgnum spids:[1039]) op: Equal rhs: {(1)} spids: [1039] ) ] spids: [1039] ) (command.WhileUntil keyword: <KW_While while> cond: [ (C {(test)} {(DQ ($ VSub_DollarName '$msgnum'))} {(-le)} {(DQ ($ VSub_DollarName '$end'))}) ] body: (command.DoGroup children: [ (C {(call_merge)} {(DQ ($ VSub_DollarName '$msgnum'))}) (C {(continue_merge)}) ] spids: [1057 1069] ) ) (C {(finish_rb_merge)}) ] spids: [810] ) spids: [805 809] ) (C {(git_rebase__merge)}) ] )