(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:todo) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/git-rebase-todo)} spids: [39] ) ] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:done) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/done)} spids: [55] ) ] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/message)} spids: [68] ) ] spids: [68] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:squash_msg) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/message-squash)} spids: [114] ) ] spids: [114] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fixup_msg) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/message-fixup)} spids: [136] ) ] spids: [136] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rewritten) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/rewritten)} spids: [161] ) ] spids: [161] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dropped) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/dropped)} spids: [168] ) ] spids: [168] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:end) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/end)} spids: [175] ) ] spids: [175] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msgnum) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/msgnum)} spids: [181] ) ] spids: [181] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:author_script) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/author-script)} spids: [197] ) ] spids: [197] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:amend) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/amend)} spids: [222] ) ] spids: [222] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rewritten_list) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/rewritten-list)} spids: [241] ) ] spids: [241] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rewritten_pending) op: Equal rhs: {(DQ ($ VSub_Name '$state_dir')) (/rewritten-pending)} spids: [247] ) ] spids: [247] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cr) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(printf)} {(DQ (Lit_Other '\\') (015))})]) left_token: <Left_CommandSub '$('> spids: [261 268] ) } spids: [260] ) ] spids: [260] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy_args) op: Equal rhs: { (BracedVarSub token: <VSub_Name strategy> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {('--strategy=') ($ VSub_Name '$strategy')} ) spids: [272 277] ) } spids: [271] ) ] spids: [271] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$strategy_opts'))}) (C {(eval)} {(SQ <'\n'> <'\tfor strategy_opt in '>) (DQ ($ VSub_Name '$strategy_opts')) (SQ <'\n'> <'\tdo\n'> < '\t\tstrategy_args="$strategy_args -X$(git rev-parse --sq-quote "${strategy_opt#--}")"\n' > <'\tdone\n'> ) } ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CHERRY_PICK_HELP) op: Equal rhs: {(DQ ($ VSub_Name '$resolvemsg'))} spids: [306] ) ] spids: [306] ) (C {(export)} {(GIT_CHERRY_PICK_HELP)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment_char) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(config)} {(--get)} {(core.commentchar)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [326] ) ] ) (C {(cut)} {(-c1)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [317 334] ) } spids: [316] ) ] spids: [316] ) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name comment_char> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(Lit_Pound '#')}) spids: [338 342] ) } ) (FuncDef name: warn body: (BraceGroup children: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Star '$*'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[363])] ) ] spids: [350] ) spids: [345 349] ) (FuncDef name: commit_message body: (BraceGroup children: [ (Pipeline children: [ (C {(git)} {(cat-file)} {(commit)} {(DQ ($ VSub_Number '$1'))}) (C {(sed)} {(DQ ('1,/^') (Lit_Other '$') (/d))}) ] negated: F ) ] spids: [377] ) spids: [372 376] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_reflog_action) op: Equal rhs: {(DQ ($ VSub_Name '$GIT_REFLOG_ACTION'))} spids: [403] ) ] spids: [403] ) (FuncDef name: comment_for_reflog body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$orig_reflog_action'))} arms: [ (case_arm pat_list: [{(SQ )} {(rebase) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_REFLOG_ACTION) op: Equal rhs: {(DQ ('rebase -i (') ($ VSub_Number '$1') (')'))} spids: [434] ) ] spids: [434] ) (C {(export)} {(GIT_REFLOG_ACTION)}) ] spids: [16777215 431 447 16777215] ) ] spids: [417 423 450] ) ] spids: [414] ) spids: [409 413] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:last_count) op:Equal rhs:{(EmptyPart)} spids:[455])] spids: [455] ) (FuncDef name: mark_action_done body: (BraceGroup children: [ (SimpleCommand words: [{(sed)} {(-e)} {(1q)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [471] ) (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [477] ) ] ) (SimpleCommand words: [{(sed)} {(-e)} {(1d)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [490] ) (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.new)} spids: [496] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo')) (.new)} {(DQ ($ VSub_Name '$todo'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_count) op: Equal rhs: { (ArithSubPart anode: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [528] ) ] ) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [521 538] ) } ) spids: [519 541] ) } spids: [518] ) ] spids: [518] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$new_count')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$msgnum'))} spids: [548] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:total) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$new_count')}) right: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [567] ) ] ) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [560 577] ) } ) ) spids: [555 579] ) } spids: [554] ) ] spids: [554] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$total')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$end'))} spids: [586] ) ] ) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name '$last_count'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$new_count'))} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:last_count) op: Equal rhs: {($ VSub_Name '$new_count')} spids: [611] ) ] spids: [611] ) (Sentence child: (C {(eval_gettext)} { (DQ ('Rebasing (') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (new_count/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('total)') ) } ) terminator: <Op_Semi ';'> ) (C {(printf)} {(DQ (Lit_Other '\\') (r))}) (AndOr ops: [Op_DPipe] children: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$verbose'))}) (C {(echo)})] ) ] spids: [16777215 608] ) ] spids: [16777215 647] ) ] spids: [462] ) spids: [457 461] ) (FuncDef name: reschedule_last_action body: (BraceGroup children: [ (Pipeline children: [ (C {(tail)} {(-n)} {(1)} {(DQ ($ VSub_Name '$done'))}) (SimpleCommand words: [{(cat)} {(-)} {(DQ ($ VSub_Name '$todo'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.new)} spids: [689] ) ] ) ] negated: F ) (SimpleCommand words: [{(sed)} {(-e)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [703] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$done')) (.new)} spids: [708] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo')) (.new)} {(DQ ($ VSub_Name '$todo'))}) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$done')) (.new)} {(DQ ($ VSub_Name '$done'))}) ] spids: [666] ) spids: [661 665] ) (FuncDef name: append_todo_help body: (BraceGroup children: [ (Pipeline children: [ (C {(gettext)} { (DQ ('\n') ('Commands:\n') (' p, pick = use commit\n') (' r, reword = use commit, but edit the commit message\n') (' e, edit = use commit, but stop for amending\n') (' s, squash = use commit, but meld into previous commit\n') (' f, fixup = like ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (squash) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (", but discard this commit's log message\n") (' x, exec = run command (the rest of the line) using shell\n') (' d, drop = remove commit\n') ('\n') ('These lines can be re-ordered; they are executed from top to bottom.\n') ) } ) (SimpleCommand words: [{(git)} {(stripspace)} {(--comment-lines)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [781] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(test)} { (CommandSubPart command_list: (CommandList children: [(C {(get_missing_commit_check_level)})] ) left_token: <Left_CommandSub '$('> spids: [792 794] ) } {(Lit_Other '=')} {(error)} ) ] action: [ (Pipeline children: [ (C {(gettext)} { (DQ ('\n') ( "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" ) ) } ) (SimpleCommand words: [{(git)} {(stripspace)} {(--comment-lines)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [819] ) ] ) ] negated: F ) ] spids: [16777215 801] ) ] else_action: [ (Pipeline children: [ (C {(gettext)} {(DQ ('\n') ('If you remove a line here THAT COMMIT WILL BE LOST.\n'))} ) (SimpleCommand words: [{(git)} {(stripspace)} {(--comment-lines)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [843] ) ] ) ] negated: F ) ] spids: [825 849] ) ] spids: [750] ) spids: [745 749] ) (FuncDef name: make_patch body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1_and_parents) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-list)} {(--parents)} {(-1)} {(DQ ($ VSub_Number '$1'))}) ] ) left_token: <Left_CommandSub '$('> spids: [864 876] ) ) } spids: [862] ) ] spids: [862] ) (Case to_match: {(DQ ($ VSub_Name '$sha1_and_parents'))} arms: [ (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '*') (SQ <' '>) (Lit_Other '?') (Lit_Other '*') (SQ <' '>) (Lit_Other '?') (Lit_Other '*') } ] action: [(C {(git)} {(diff)} {(--cc)} {($ VSub_Name '$sha1_and_parents')})] spids: [889 901 913 16777215] ) (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '*') (SQ <' '>) (Lit_Other '?') (Lit_Other '*')} ] action: [(C {(git)} {(diff-tree)} {(-p)} {(DQ ($ VSub_Number '$1') ('^!'))})] spids: [916 923 938 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(echo)} {(DQ ('Root commit'))})] spids: [941 942 952 16777215] ) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/patch)} spids: [957] ) ] spids: [880 886 955] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$msg'))}) (SimpleCommand words: [{(commit_message)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$msg'))} spids: [982] ) ] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$author_script'))}) (SimpleCommand words: [{(get_author_ident_from_commit)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$author_script'))} spids: [1006] ) ] ) ] ) ] spids: [859] ) spids: [854 858] ) (FuncDef name: die_with_patch body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} spids: [1029] ) ] ) (C {(make_patch)} {(DQ ($ VSub_Number '$1'))}) (C {(die)} {(DQ ($ VSub_Number '$2'))}) ] spids: [1020] ) spids: [1015 1019] ) (FuncDef name: exit_with_patch body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} spids: [1067] ) ] ) (C {(make_patch)} {($ VSub_Number '$1')}) (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$amend'))} spids: [1088] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt_quoted) op: Equal rhs: { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1099 1109] ) } ) spids: [1096 1110] ) } spids: [1095] ) ] spids: [1095] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('You can amend the commit now, with\n') ('\n') ('\tgit commit --amend ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('gpg_sign_opt_quoted\n') ('\n') ('Once you are satisfied with your changes, run\n') ('\n') ('\tgit rebase --continue') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1116 1131] ) ) } ) (C {(warn)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Number '$2')}) ] spids: [1058] ) spids: [1053 1057] ) (FuncDef name: die_abort body: (BraceGroup children: [ (C {(apply_autostash)}) (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$state_dir'))}) (C {(die)} {(DQ ($ VSub_Number '$1'))}) ] spids: [1150] ) spids: [1145 1149] ) (FuncDef name: has_action body: (BraceGroup children: [ (C {(test)} {(-n)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1194] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1187 1198] ) ) } ) ] spids: [1179] ) spids: [1174 1178] ) (FuncDef name: is_empty_commit body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tree) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(-q)} {(--verify)} {(DQ ($ VSub_Number '$1')) (Lit_Other '^') (Lit_LBrace '{') (tree) (Lit_RBrace '}') } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1229] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1212 1231] ) } spids: [1211] ) ] spids: [1211] ) (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [1238] ) ] spids: [1238] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('sha1: not a commit that can be picked') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1245 1252] ) ) } ) ] spids: [1235] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ptree) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(-q)} {(--verify)} {(DQ ($ VSub_Number '$1')) (Lit_Other '^') (Lit_Other '^') (Lit_LBrace '{') (tree) (Lit_RBrace '}') } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1278] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1260 1280] ) } spids: [1259] ) ] spids: [1259] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ptree) op: Equal rhs: {(4b825dc642cb6eb9a060e54bf8d69288fbee4904)} spids: [1285] ) ] spids: [1285] ) ] ) (C {(test)} {(DQ ($ VSub_Name '$tree'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$ptree'))}) ] spids: [1208] ) spids: [1204 1207] ) (FuncDef name: is_merge_commit body: (BraceGroup children: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(DQ ($ VSub_Number '$1')) (Lit_Other '^') (2)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1325] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1328]) ] ) ] spids: [1308] ) spids: [1304 1307] ) (FuncDef name: do_with_author body: (BraceGroup children: [ (Subshell child: (CommandList children: [ (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)} {(GIT_AUTHOR_DATE)}) (C {(DQ ($ VSub_At '$@'))}) ] ) spids: [1348 1365] ) ] spids: [1345] ) spids: [1340 1344] ) (FuncDef name: git_sequence_editor body: (BraceGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_SEQUENCE_EDITOR'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_SEQUENCE_EDITOR) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(sequence.editor)})] ) left_token: <Left_CommandSub '$('> spids: [1394 1400] ) ) } spids: [1392] ) ] spids: [1392] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$GIT_SEQUENCE_EDITOR'))} {(Lit_Other ']')} ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_SEQUENCE_EDITOR) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(var)} {(GIT_EDITOR)})] ) left_token: <Left_CommandSub '$('> spids: [1422 1428] ) ) } spids: [1420] ) ] spids: [1420] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) ] spids: [16777215 1417] ) ] spids: [16777215 1438] ) ] spids: [16777215 1389] ) ] spids: [16777215 1441] ) (C {(eval)} {(DQ ($ VSub_Name '$GIT_SEQUENCE_EDITOR'))} {(SQ <'"$@"'>)}) ] spids: [1375] ) spids: [1370 1374] ) (FuncDef name: pick_one body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ff) op:Equal rhs:{(--ff)} spids:[1466])] spids: [1466] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(-n)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$2')} spids: [1482] ) ] spids: [1482] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ff) op: Equal rhs: {(EmptyPart)} spids: [1486] ) ] spids: [1486] ) ] spids: [1479 1480 1488 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [1493] ) ] spids: [1493] ) ] spids: [1490 1491 1496 16777215] ) ] spids: [1471 1477 1498] ) (Case to_match: {(DQ ($ VSub_Name '$force_rebase'))} arms: [ (case_arm pat_list:[{(SQ )}] spids:[16777215 1511 1513 16777215]) (case_arm pat_list: [{(Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ff) op: Equal rhs: {(EmptyPart)} spids: [1519] ) ] spids: [1519] ) ] spids: [1515 1517 1521 16777215] ) ] spids: [1501 1507 1523] ) (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(git)} {(rev-parse)} {(--verify)} {($ VSub_Name '$sha1')}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Invalid commit name: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1541 1549] ) ) } ) ] ) (If arms: [ (if_arm cond: [(C {(is_empty_commit)} {(DQ ($ VSub_Name '$sha1'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:empty_args) op: Equal rhs: {(DQ (--allow-empty))} spids: [1566] ) ] spids: [1566] ) ] spids: [16777215 1563] ) ] spids: [16777215 1572] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {(-d)} {(DQ ($ VSub_Name '$rewritten'))}) (C {(pick_one_preserving_merges)} {(DQ ($ VSub_At '$@'))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (C {(output)} {(eval)} {(git)} {(cherry-pick)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1611 1621] ) } ) spids: [1608 1622] ) } {(DQ ($ VSub_Name '$strategy_args'))} {($ VSub_Name '$empty_args')} {($ VSub_Name '$ff')} {(DQ ($ VSub_At '$@'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [1648] ) ] spids: [1648] ) (Case to_match: {(DQ ($ VSub_Name '$ret'))} arms: [ (case_arm pat_list: [{(Lit_Other '[') (01) (Lit_Other ']')}] spids: [1660 1663 1665 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(reschedule_last_action)})] spids: [1667 1668 1672 16777215] ) ] spids: [1652 1658 1674] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$ret')}) ] spids: [1463] ) spids: [1458 1462] ) (FuncDef name: pick_one_preserving_merges body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fast_forward) op:Equal rhs:{(t)} spids:[1692])] spids: [1692] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(-n)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fast_forward) op: Equal rhs: {(f)} spids: [1709] ) ] spids: [1709] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$2')} spids: [1713] ) ] spids: [1713] ) ] spids: [1705 1706 1717 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [1724] ) ] spids: [1724] ) ] spids: [1720 1721 1728 16777215] ) ] spids: [1696 1702 1731] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {($ VSub_Name '$sha1')})] ) left_token: <Left_CommandSub '$('> spids: [1735 1741] ) } spids: [1734] ) ] spids: [1734] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/current-commit)})] action: [ (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name '$fast_forward'))} {(Lit_Other '=')} {(t)}) ] action: [ (While cond: [(C {(read)} {(current_commit)})] body: (DoGroup children: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$current_commit') } spids: [1792] ) ] ) ] spids: [1783 1801] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/current-commit)} spids: [1803] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(rm)} {(DQ ($ VSub_Name '$state_dir')) (/current-commit)}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( "Cannot write current commit's replacement sha1" ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1823 1829] ) ) } ) ] ) ] spids: [16777215 1773] ) ] spids: [16777215 1833] ) ] spids: [16777215 1757] ) ] spids: [16777215 1836] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$sha1')}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/current-commit)} spids: [1844] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_parents) op: Equal rhs: {(EmptyPart)} spids: [1857] ) ] spids: [1857] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pend) op: Equal rhs: { (DQ (' ') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(git)} {(rev-list)} {(--parents)} {(-1)} {($ VSub_Name '$sha1')}) (C {(cut)} {(-d) (SQ <' '>)} {(-s)} {(-f2-)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1863 1886] ) ) } spids: [1860] ) ] spids: [1860] ) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name '$pend'))} {(Lit_Other '=')} {(DQ (' '))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pend) op: Equal rhs: {(DQ (' root'))} spids: [1908] ) ] spids: [1908] ) ] spids: [16777215 1905] ) ] spids: [16777215 1914] ) (While cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$pend'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ ($ VSub_Name '$pend'))} {(Lit_Other ':')} {(SQ <' \\([^ ]*\\)'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1938 1950] ) } spids: [1937] ) ] spids: [1937] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pend) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name pend> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(' ') ($ VSub_Name '$p')} ) spids: [1955 1960] ) ) } spids: [1953] ) ] spids: [1953] ) (If arms: [ (if_arm cond: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$p')}) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_p) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$p') } ) ] ) left_token: <Left_CommandSub '$('> spids: [1982 1990] ) } spids: [1981] ) ] spids: [1981] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$new_p'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_p) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [2021 2027] ) } spids: [2020] ) ] spids: [2020] ) ] spids: [16777215 2017] ) ] spids: [16777215 2030] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_Name '$p')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Name '$new_p')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fast_forward) op: Equal rhs: {(f)} spids: [2045] ) ] spids: [2045] ) ] ) (Case to_match: {(DQ ($ VSub_Name '$new_parents'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') ($ VSub_Name '$new_p') (Lit_Other '*')}] spids: [2058 2061 2064 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_parents) op: Equal rhs: { (DQ ($ VSub_Name '$new_parents') (' ') ($ VSub_Name '$new_p') ) } spids: [2074] ) ] spids: [2074] ) ] spids: [2070 2071 2082 16777215] ) ] spids: [2049 2055 2085] ) ] spids: [16777215 1978] ) ] else_action: [ (If arms: [ (if_arm cond: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$dropped')) (/) ($ VSub_Name '$p')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fast_forward) op: Equal rhs: {(f)} spids: [2107] ) ] spids: [2107] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replacement) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$dropped')) (/) ($ VSub_Name '$p') } ) ] ) left_token: <Left_CommandSub '$('> spids: [2113 2121] ) ) } spids: [2111] ) ] spids: [2111] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$replacement'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replacement) op: Equal rhs: {(root)} spids: [2135] ) ] spids: [2135] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pend) op: Equal rhs: { (DQ (' ') ($ VSub_Name '$replacement') ($ VSub_Name '$pend')) } spids: [2139] ) ] spids: [2139] ) ] spids: [16777215 2104] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_parents) op: Equal rhs: {(DQ ($ VSub_Name '$new_parents') (' ') ($ VSub_Name '$p'))} spids: [2150] ) ] spids: [2150] ) ] spids: [2147 2158] ) ] spids: [2088 2161] ) ] spids: [1934 2164] ) ) (Case to_match: {($ VSub_Name '$fast_forward')} arms: [ (case_arm pat_list: [{(t)}] action: [ (C {(output)} {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Fast-forward to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2183 2191] ) ) } ) (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(git)} {(reset)} {(--hard)} {($ VSub_Name '$sha1')}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Cannot fast-forward to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2211 2219] ) ) } ) ] ) ] spids: [2174 2175 2223 16777215] ) (case_arm pat_list: [{(f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:first_parent) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ ($ VSub_Name '$new_parents'))} {(Lit_Other ':')} {(SQ <' \\([^ ]*\\)'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [2231 2243] ) } spids: [2230] ) ] spids: [2230] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (-n))} {(Lit_Other ']')} ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(output)} {(git)} {(checkout)} {($ VSub_Name '$first_parent')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2280] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Cannot move HEAD to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (first_parent) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2290 2298] ) ) } ) ] ) ] spids: [16777215 2265] ) ] spids: [16777215 2302] ) (Case to_match: {(DQ ($ VSub_Name '$new_parents'))} arms: [ (case_arm pat_list: [{(SQ <' '>) (Lit_Other '*') (SQ <' '>) (Lit_Other '*')}] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ (a) ($ VSub_Number '$1'))} {(Lit_Other '=')} {(a-n)}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Refusing to squash a merge: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2342 2350] ) ) } ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:author_script_content) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(get_author_ident_from_commit)} {($ VSub_Name '$sha1')} ) ] ) left_token: <Left_CommandSub '$('> spids: [2360 2364] ) } spids: [2359] ) ] spids: [2359] ) (C {(eval)} {(DQ ($ VSub_Name '$author_script_content'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg_content) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(commit_message)} {($ VSub_Name '$sha1')})] ) left_token: <Left_CommandSub '$('> spids: [2376 2380] ) ) } spids: [2374] ) ] spids: [2374] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_parents) op: Equal rhs: { (BracedVarSub token: <VSub_Name new_parents> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(' ') ($ VSub_Name '$first_parent')} ) spids: [2389 2394] ) } spids: [2388] ) ] spids: [2388] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merge_args) op: Equal rhs: {(DQ ('--no-log --no-ff'))} spids: [2397] ) ] spids: [2397] ) (If arms: [ (if_arm cond: [ (Pipeline children: [ (C {(do_with_author)} {(output)} {(eval)} { (SQ <'git merge ${gpg_sign_opt:+"$gpg_sign_opt"} \\\n'> < '\t\t\t\t$merge_args $strategy_args -m "$msg_content" $new_parents' > ) } ) ] negated: T ) ] action: [ (SimpleCommand words: [ {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$msg_content'))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)} spids: [2436] ) ] ) (C {(die_with_patch)} {($ VSub_Name '$sha1')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Error redoing merge ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2449 2457] ) ) } ) ] spids: [16777215 2421] ) ] spids: [16777215 2461] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$sha1') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(HEAD) (Lit_Other '^') (0)}) ] ) left_token: <Left_CommandSub '$('> spids: [2469 2477] ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [2480] ) ] ) ] spids: [2316 2323 2487 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(eval)} {(git)} {(cherry-pick)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [2507 2517] ) } ) spids: [2504 2518] ) } {(DQ ($ VSub_Name '$strategy_args'))} {(DQ ($ VSub_At '$@'))} ) (C {(die_with_patch)} {($ VSub_Name '$sha1')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not pick ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2538 2546] ) ) } ) ] ) ] spids: [2490 2491 2550 16777215] ) ] spids: [2306 2312 2553] ) ] spids: [2226 2227 2556 16777215] ) ] spids: [2167 2171 2559] ) ] spids: [1689] ) spids: [1684 1688] ) (FuncDef name: this_nth_commit_message body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: {($ VSub_Number '$1')} spids: [2572] ) ] spids: [2572] ) (C {(eval_gettext)} { (DQ ('This is the commit message #') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{n}:') ) } ) ] spids: [2569] ) spids: [2564 2568] ) (FuncDef name: skip_nth_commit_message body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: {($ VSub_Number '$1')} spids: [2595] ) ] spids: [2595] ) (C {(eval_gettext)} { (DQ ('The commit message #') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{n} will be skipped:') ) } ) ] spids: [2592] ) spids: [2587 2591] ) (FuncDef name: update_squash_messages body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$squash_msg'))}) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$squash_msg')) (.bak)} ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(sed)} {(-n)} {(-e)} { (DQ ('1s/^') ($ VSub_Name '$comment_char') ('.*') (Lit_Other '\\') ('([0-9][0-9]*') (Lit_Other '\\') (').*/') (Lit_Other '\\') (1/p) ) } {(-e)} {(DQ (q))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$squash_msg')) (.bak)} spids: [2679] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2650 2685] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2649 2689] ) } spids: [2648] ) ] spids: [2648] ) (BraceGroup children: [ (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(eval_ngettext)} { (DQ ('This is a combination of ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('count commit.') ) } { (DQ ('This is a combination of ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('count commits.') ) } {($ VSub_Name '$count')} ) ] ) left_token: <Left_CommandSub '$('> spids: [2704 2726] ) ) } ) (SimpleCommand words: [ {(sed)} {(-e)} {(1d)} {(-e)} {(SQ <'2,/^./{\n'> <'\t\t\t\t/^$/d\n'> <'\t\t\t}'>)} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$squash_msg')) (.bak)} spids: [2744] ) ] ) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2753] ) ] spids: [2692] ) ] spids: [16777215 2629] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(commit_message)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$fixup_msg'))} spids: [2766] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ('Cannot write ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (fixup_msg) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2777 2785] ) ) } ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(2)} spids:[2789])] spids: [2789] ) (BraceGroup children: [ (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('This is a combination of 2 commits.'))}) ] ) left_token: <Left_CommandSub '$('> spids: [2805 2811] ) ) } ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('This is the 1st commit message:'))})] ) left_token: <Left_CommandSub '$('> spids: [2824 2830] ) ) } ) (C {(echo)}) (C {(cat)} {(DQ ($ VSub_Name '$fixup_msg'))}) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2846] ) ] spids: [2793] ) ] spids: [2759 2852] ) (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(squash)}] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$fixup_msg'))}) (C {(echo)}) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [(C {(this_nth_commit_message)} {($ VSub_Name '$count')})] ) left_token: <Left_CommandSub '$('> spids: [2887 2891] ) ) } ) (C {(echo)}) (C {(commit_message)} {($ VSub_Number '$2')}) ] spids: [2862 2863 2903 16777215] ) (case_arm pat_list: [{(fixup)}] action: [ (C {(echo)}) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [(C {(skip_nth_commit_message)} {($ VSub_Name '$count')})] ) left_token: <Left_CommandSub '$('> spids: [2922 2926] ) ) } ) (C {(echo)}) (Pipeline children: [ (C {(commit_message)} {($ VSub_Number '$2')}) (C {(git)} {(stripspace)} {(--comment-lines)}) (C {(sed)} {(-e)} {(SQ <'s/ /\t/'>)}) ] negated: F ) ] spids: [2906 2907 2960 16777215] ) ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2965] ) ] spids: [2855 2859 2963] ) ] spids: [2615] ) spids: [2610 2614] ) (FuncDef name: peek_next_command body: (BraceGroup children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [2987] ) ] ) (C {(sed)} {(-n)} {(-e)} {(SQ <'s/ .*//p'>)} {(-e)} {(q)}) ] negated: F ) ] spids: [2978] ) spids: [2973 2977] ) (FuncDef name: die_failed_squash body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [3036] ) ] spids: [3036] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Number '$2')} spids: [3040] ) ] spids: [3040] ) (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$msg'))}) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$fixup_msg'))}) (AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)}) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (C {(warn)}) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not apply ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('sha1... ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3090 3100] ) ) } ) (C {(die_with_patch)} {($ VSub_Name '$sha1')} {(DQ )}) ] spids: [3033] ) spids: [3029 3032] ) (FuncDef name: flush_rewritten_pending body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_pending'))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:newsha1) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(HEAD) (Lit_Other '^') (0)})] ) left_token: <Left_CommandSub '$('> spids: [3136 3144] ) ) } spids: [3134] ) ] spids: [3134] ) (SimpleCommand words: [{(sed)} {(DQ (s/) (Lit_Other '$') ('/ ') ($ VSub_Name '$newsha1') (/))}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_pending'))} spids: [3158] ) (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [3164] ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$rewritten_pending'))}) ] spids: [3118] ) spids: [3114 3117] ) (FuncDef name: record_in_rewritten body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:oldsha1) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {($ VSub_Number '$1')})] ) left_token: <Left_CommandSub '$('> spids: [3191 3197] ) ) } spids: [3189] ) ] spids: [3189] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$oldsha1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_pending'))} spids: [3207] ) ] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [3218 3220] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] spids: [3226 3233 3236 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(flush_rewritten_pending)})] spids: [3239 3240 3246 16777215] ) ] spids: [3215 3223 3249] ) ] spids: [3186] ) spids: [3182 3185] ) (FuncDef name: do_pick body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [3262] ) ] spids: [3262] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Number '$2')} spids: [3266] ) ] spids: [3266] ) (If arms: [ (if_arm cond: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(git)} {(rev-parse)} {(HEAD)})]) left_token: <Left_CommandSub '$('> spids: [3275 3281] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$squash_onto'))} ) ] action: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DPipe] children: [ (C {(git)} {(commit)} {(--allow-empty)} {(--allow-empty-message)} {(--amend)} {(--no-post-rewrite)} {(-n)} {(-q)} {(-C)} {($ VSub_Name '$sha1')} ) (C {(pick_one)} {(-n)} {($ VSub_Name '$sha1')}) (C {(git)} {(commit)} {(--allow-empty)} {(--allow-empty-message)} {(--amend)} {(--no-post-rewrite)} {(-n)} {(-q)} {(-C)} {($ VSub_Name '$sha1')} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [3384 3390] ) } ) (C {(die_with_patch)} {($ VSub_Name '$sha1')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not apply ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('sha1... ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3400 3410] ) ) } ) ] ) ] spids: [16777215 3291] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(pick_one)} {($ VSub_Name '$sha1')}) (C {(die_with_patch)} {($ VSub_Name '$sha1')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not apply ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('sha1... ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3429 3439] ) ) } ) ] ) ] spids: [3414 3443] ) ] spids: [3259] ) spids: [3254 3258] ) (FuncDef name: do_next body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$author_script'))} {(DQ ($ VSub_Name '$amend'))} {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (SimpleCommand words: [{(read)} {(-r)} {(command)} {(sha1)} {(rest)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [3492] ) ] ) (Case to_match: {(DQ ($ VSub_Name '$command'))} arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Name '$comment_char')) (Lit_Other '*')} {(SQ )} {(noop)} {(drop)} {(d)} ] action: [(C {(mark_action_done)})] spids: [3509 3521 3527 16777215] ) (case_arm pat_list: [{(DQ ($ VSub_Name '$cr'))}] action: [(C {(mark_action_done)})] spids: [3531 3533 3543 16777215] ) (case_arm pat_list: [{(pick)} {(p)}] action: [ (C {(comment_for_reflog)} {(pick)}) (C {(mark_action_done)}) (C {(do_pick)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))}) (C {(record_in_rewritten)} {($ VSub_Name '$sha1')}) ] spids: [3546 3549 3575 16777215] ) (case_arm pat_list: [{(reword)} {(r)}] action: [ (C {(comment_for_reflog)} {(reword)}) (C {(mark_action_done)}) (C {(do_pick)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))}) (AndOr ops: [Op_DPipe] children: [ (C {(git)} {(commit)} {(--amend)} {(--no-post-rewrite)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [3610 3616] ) } ) (BraceGroup children: [ (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ( 'Could not amend commit after successfully picking ' ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('sha1... ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('rest\n') ('This is most likely due to an empty commit message, or the pre-commit hook\n') ( 'failed. If the pre-commit hook failed, you may need to resolve the issue before\n' ) ('you are able to reword the commit.') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3626 3640] ) ) } ) (C {(exit_with_patch)} {($ VSub_Name '$sha1')} {(1)}) ] spids: [3620] ) ] ) (C {(record_in_rewritten)} {($ VSub_Name '$sha1')}) ] spids: [3578 3581 3659 16777215] ) (case_arm pat_list: [{(edit)} {(e)}] action: [ (C {(comment_for_reflog)} {(edit)}) (C {(mark_action_done)}) (C {(do_pick)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1_abbrev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--short)} {($ VSub_Name '$sha1')}) ] ) left_token: <Left_CommandSub '$('> spids: [3687 3695] ) } spids: [3686] ) ] spids: [3686] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Stopped at ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('sha1_abbrev... ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3701 3711] ) ) } ) (C {(exit_with_patch)} {($ VSub_Name '$sha1')} {(0)}) ] spids: [3662 3665 3722 16777215] ) (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] action: [ (Case to_match: {(DQ ($ VSub_Name '$command'))} arms: [ (case_arm pat_list: [{(squash)} {(s)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:squash_style) op: Equal rhs: {(squash)} spids: [3750] ) ] spids: [3750] ) ] spids: [3744 3747 3754 16777215] ) (case_arm pat_list: [{(fixup)} {(f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:squash_style) op: Equal rhs: {(fixup)} spids: [3763] ) ] spids: [3763] ) ] spids: [3757 3760 3767 16777215] ) ] spids: [3735 3741 3770] ) (C {(comment_for_reflog)} {($ VSub_Name '$squash_style')}) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$done'))}) (C {(has_action)} {(DQ ($ VSub_Name '$done'))}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ("Cannot '") (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ("squash_style' without a previous commit") ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3801 3809] ) ) } ) ] ) (C {(mark_action_done)}) (C {(update_squash_messages)} {($ VSub_Name '$squash_style')} {($ VSub_Name '$sha1')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:author_script_content) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(get_author_ident_from_commit)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [3825 3829] ) } spids: [3824] ) ] spids: [3824] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$author_script_content'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$author_script'))} spids: [3838] ) ] ) (C {(eval)} {(DQ ($ VSub_Name '$author_script_content'))}) (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(pick_one)} {(-n)} {($ VSub_Name '$sha1')})] negated: T ) ] action: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$amend'))} spids: [3874] ) ] ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))}) ] spids: [16777215 3863] ) ] spids: [16777215 3889] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [3895 3897] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(do_with_author)} {(output)} {(git)} {(commit)} {(--amend)} {(--no-verify)} {(-F)} {(DQ ($ VSub_Name '$squash_msg'))} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [3941 3947] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] ) ] spids: [3903 3910 3961 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$fixup_msg'))})] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(do_with_author)} {(git)} {(commit)} {(--amend)} {(--no-verify)} {(-F)} {(DQ ($ VSub_Name '$fixup_msg'))} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [4004 4010] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] ) ] spids: [16777215 3983] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$GIT_DIR')) (/SQUASH_MSG)} ) (ControlFlow token: <ControlFlow_Exit exit> ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)}) (AndOr ops: [Op_DPipe] children: [ (C {(do_with_author)} {(git)} {(commit)} {(--amend)} {(--no-verify)} {(-F)} {(DQ ($ VSub_Name '$GIT_DIR')) (/SQUASH_MSG)} {(-e)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [4074 4080] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] ) ] spids: [4024 4094] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$fixup_msg'))} ) ] spids: [3964 3965 4110 16777215] ) ] spids: [3892 3900 4113] ) (C {(record_in_rewritten)} {($ VSub_Name '$sha1')}) ] spids: [3725 3732 4121 16777215] ) (case_arm pat_list: [{(x)} {(DQ (exec))}] action: [ (SimpleCommand words: [{(read)} {(-r)} {(command)} {(rest)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [4140] ) ] ) (C {(mark_action_done)}) (C {(eval_gettextln)} { (DQ ('Executing: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (rest)) } ) (C { (DQ (BracedVarSub token: <VSub_Name SHELL> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {('@SHELL_PATH@')} ) spids: [4160 4164] ) ) } {(-c)} {(DQ ($ VSub_Name '$rest'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status) op: Equal rhs: {($ VSub_QMark '$?')} spids: [4177] ) ] spids: [4177] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dirty) op:Equal rhs:{(f)} spids:[4185])] spids: [4185] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (SimpleCommand words: [{(require_clean_work_tree)} {(DQ (rebase))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [4196] ) ] ) spids: [4189 4198] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dirty) op: Equal rhs: {(t)} spids: [4202] ) ] spids: [4202] ) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name '$status'))} {(-ne)} {(0)})] action: [ (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Execution failed: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4225 4233] ) ) } ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$dirty'))} {(Lit_Other '=')} {(f)}) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'and made changes to the index and/or the working tree' ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4253 4259] ) ) } ) ] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ('You can fix the problem, and then run\n') ('\n') ('\tgit rebase --continue') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4267 4276] ) ) } ) (C {(warn)}) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$status')} {(-eq)} {(127)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status) op: Equal rhs: {(1)} spids: [4300] ) ] spids: [4300] ) ] spids: [16777215 4297] ) ] spids: [16777215 4304] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(DQ ($ VSub_Name '$status'))} ) ] spids: [16777215 4219] ) (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name '$dirty'))} {(Lit_Other '=')} {(t)})] action: [ (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Execution succeeded: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('rest\n') ('but left changes to the index and/or the working tree\n') ('Commit or stash your changes, and then run\n') ('\n') ('\tgit rebase --continue') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4337 4350] ) ) } ) (C {(warn)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [4314 4327] ) ] spids: [16777215 4362] ) ] spids: [4124 4129 4365 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Unknown command: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('command ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('sha1 ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (rest) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4375 4387] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fixtodo) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ("Please fix this using 'git rebase --edit-todo'."))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4393 4399] ) ) } spids: [4391] ) ] spids: [4391] ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(--verify)} {(-q)} {(DQ ($ VSub_Name '$sha1'))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [4417] ) ] ) ] action: [ (C {(die_with_patch)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$fixtodo'))}) ] spids: [16777215 4421] ) ] else_action: [(C {(die)} {(DQ ($ VSub_Name '$fixtodo'))})] spids: [4433 4443] ) ] spids: [4368 4369 4446 16777215] ) ] spids: [3499 3505 4449] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(comment_for_reflog)} {(finish)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:newhead) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(git)} {(rev-parse)} {(HEAD)})]) left_token: <Left_CommandSub '$('> spids: [4474 4480] ) } spids: [4473] ) ] spids: [4473] ) (Case to_match: {($ VSub_Name '$head_name')} arms: [ (case_arm pat_list: [{(refs/) (Lit_Other '*')}] action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:message) op: Equal rhs: { (DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': ') ($ VSub_Name '$head_name') (' onto ') ($ VSub_Name '$onto') ) } spids: [4497] ) ] spids: [4497] ) (C {(git)} {(update-ref)} {(-m)} {(DQ ($ VSub_Name '$message'))} {($ VSub_Name '$head_name')} {($ VSub_Name '$newhead')} {($ VSub_Name '$orig_head')} ) (C {(git)} {(symbolic-ref)} {(-m)} { (DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': returning to ') ($ VSub_Name '$head_name') ) } {(HEAD)} {($ VSub_Name '$head_name')} ) ] ) ] spids: [4492 4494 4549 16777215] ) ] spids: [4485 4489 4552] ) (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/verbose)}) (C {(git)} {(diff-tree)} {(--stat)} {($ VSub_Name '$orig_head') (..HEAD)}) ] ) ] spids: [4556] ) (BraceGroup children: [ (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_list'))}) (SimpleCommand words: [{(git)} {(notes)} {(copy)} {(--for-rewrite) (Lit_Other '=') (rebase)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [4612] ) ] ) (C {(true)}) ] ) ] spids: [4588] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hook) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--git-path)} {(hooks/post-rewrite)}) ] ) left_token: <Left_CommandSub '$('> spids: [4634 4642] ) ) } spids: [4632] ) ] spids: [4632] ) ] ) (AndOr ops: [Op_DAmp] children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-x)} {(DQ ($ VSub_Name '$hook'))}) (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_list'))}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(DQ ($ VSub_Name '$hook'))} {(rebase)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [4676] ) ] ) (C {(true)}) ] spids: [16777215 4667] ) ] spids: [16777215 4689] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Successfully rebased and updated ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (head_name.) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4697 4705] ) ) } ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [3453] ) spids: [3448 3452] ) (FuncDef name: do_rest body: (BraceGroup children: [ (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [(C {(do_next)}) (ControlFlow token:<ControlFlow_Break break>)] ) ] spids: [4736 4746] ) ) ] spids: [4728] ) spids: [4723 4727] ) (FuncDef name: skip_unnecessary_picks body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fd) op:Equal rhs:{(3)} spids:[4762])] spids: [4762] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DPipe] children: [ (While cond: [(C {(read)} {(-r)} {(command)} {(rest)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$fd') (',') ($ VSub_Name '$command'))} arms: [ (case_arm pat_list: [{(3) (Lit_Comma ',') (pick)} {(3) (Lit_Comma ',') (p)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: { (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {(' *')} ) spids: [4810 4814] ) } spids: [4809] ) ] spids: [4809] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(DQ ($ VSub_Name '$sha1')) (Lit_Other '^')} ) ] ) left_token: <Left_CommandSub '$('> spids: [4820 4833] ) ) } arms: [ (case_arm pat_list: [{(DQ ($ VSub_Name '$onto')) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: {($ VSub_Name '$sha1')} spids: [4846] ) ] spids: [4846] ) ] spids: [4840 4843 4850 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fd) op: Equal rhs: {(1)} spids: [4857] ) ] spids: [4857] ) ] spids: [4853 4854 4861 16777215] ) ] spids: [4817 4836 4864] ) ] spids: [4795 4802 4867 16777215] ) (case_arm pat_list: [ {(3) (Lit_Comma ',') (DQ ($ VSub_Name '$comment_char')) (Lit_Other '*') } {(3) (Lit_Comma ',')} ] spids: [4870 4879 4886 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fd) op: Equal rhs: {(1)} spids: [4893] ) ] spids: [4893] ) ] spids: [4889 4890 4897 16777215] ) ] spids: [4784 4792 4900] ) (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$command') (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(' ')}) spids: [4911 4915] ) ($ VSub_Name '$rest') ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {($ VSub_Name '$fd')} spids: [4919] ) ] ) ] spids: [4777 4923] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [4925] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo') (.new))} spids: [4930] ) (Redir op_id: Redir_DGreat fd: 3 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [4936] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo')) (.new)} {(DQ ($ VSub_Name '$todo'))}) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [4963 4965] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] action: [(C {(record_in_rewritten)} {(DQ ($ VSub_Name '$onto'))})] spids: [4971 4978 4988 16777215] ) ] spids: [4960 4968 4991] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not skip unnecessary pick commands'))}) ] ) left_token: <Left_CommandSub '$('> spids: [4999 5005] ) ) } ) ] ) ] spids: [4759] ) spids: [4754 4758] ) (FuncDef name: transform_todo_ids body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (While cond: [(C {(read)} {(-r)} {(command)} {(rest)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$command'))} arms: [ (case_arm pat_list: [{(DQ ($ VSub_Name '$comment_char')) (Lit_Other '*')} {(exec)}] spids: [5043 5050 5061 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DAmp] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(DQ ($ VSub_At '$@'))} { (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('[\t ]*')} ) spids: [5082 5086] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [5069 5087] ) } spids: [5068] ) ] spids: [5068] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: { (DQ ($ VSub_Name '$sha1') (' ') (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*[\t ]')} ) spids: [5096 5100] ) ) } spids: [5092] ) ] spids: [5092] ) ] ) ] spids: [5064 5065 5104 16777215] ) ] spids: [5033 5039 5107] ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$command') (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(' ')}) spids: [5118 5122] ) ($ VSub_Name '$rest') ) } ) ] spids: [5030 5127] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [5129] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo') (.new))} spids: [5134] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo') (.new))} {(DQ ($ VSub_Name '$todo'))}) ] ) ] spids: [5016] ) spids: [5011 5015] ) (FuncDef name: expand_todo_ids body: (BraceGroup children:[(C {(transform_todo_ids)})] spids:[5163]) spids: [5159 5162] ) (FuncDef name: collapse_todo_ids body: (BraceGroup children:[(C {(transform_todo_ids)} {(--short)})] spids:[5175]) spids: [5171 5174] ) (FuncDef name: rearrange_squash body: (BraceGroup children: [ (While cond: [(C {(read)} {(-r)} {(pick)} {(sha1)} {(message)})] body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ (${ VSub_Name format))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:message) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(log)} {(-n)} {(1)} {(--format) (Lit_Other '=') (DQ ('%s'))} {(${ VSub_Name sha1)} ) ] ) left_token: <Left_CommandSub '$('> spids: [5250 5268] ) } spids: [5249] ) ] spids: [5249] ) ] ) (Case to_match: {(DQ ($ VSub_Name '$message'))} arms: [ (case_arm pat_list: [ {(DQ ('squash! ')) (Lit_Other '*')} {(DQ ('fixup! ')) (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name message> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('!*')} ) spids: [5294 5298] ) ) } spids: [5292] ) ] spids: [5292] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Name '$message')} spids: [5302] ) ] spids: [5302] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(EmptyPart)} spids: [5306] ) ] spids: [5306] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$rest'))} arms: [ (case_arm pat_list: [ {(DQ ('squash! ')) (Lit_Other '*')} {(DQ ('fixup! ')) (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: { (DQ ($ VSub_Name '$prefix') (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('!*')} ) spids: [5345 5349] ) (',') ) } spids: [5342] ) ] spids: [5342] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*! ')} ) spids: [5356 5360] ) ) } spids: [5354] ) ] spids: [5354] ) ] spids: [5331 5339 5364 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [5367 5368 5374 16777215] ) ] spids: [5321 5327 5377] ) ] spids: [5318 5380] ) ) (C {(printf)} {(SQ <'%s %s %s %s\\n'>)} {(DQ ($ VSub_Name '$sha1'))} {(DQ ($ VSub_Name '$action'))} {(DQ ($ VSub_Name '$prefix'))} {(DQ ($ VSub_Name '$rest'))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} { (DQ (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('* ')} ) spids: [5423 5427] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$rest'))} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullsha) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(-q)} {(--verify)} {(DQ ($ VSub_Name '$rest'))} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [5455] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [5442 5457] ) ) } spids: [5440] ) ] spids: [5440] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$fullsha'))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ($ VSub_Name '$sha1') (' +') ($ VSub_Name '$action') (' ') ($ VSub_Name '$prefix') (' ') ($ VSub_Name '$fullsha') ) } ) ] spids: [16777215 5472] ) ] spids: [16777215 5496] ) ] spids: [16777215 5437] ) ] spids: [16777215 5499] ) ] spids: [5281 5289 16777215 5502] ) ] spids: [5271 5277 5502] ) ] spids: [5234 5505] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (.sq))} spids: [5507] ) (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5513] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Number '$1') (.sq))}) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:used) op:Equal rhs:{(EmptyPart)} spids:[5534])] spids: [5534] ) (While cond: [(C {(read)} {(-r)} {(pick)} {(sha1)} {(message)})] body: (DoGroup children: [ (Case to_match: {(DQ (' ') ($ VSub_Name '$used'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$sha1') (' ')) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [5563 5570 5574 16777215] ) ] spids: [5553 5560 5577] ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$pick') (' ') ($ VSub_Name '$sha1') (' ') ($ VSub_Name '$message') ) } ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ (${ VSub_Name format))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:message) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(log)} {(-n)} {(1)} {(--format) (Lit_Other '=') (DQ ('%s'))} {(${ VSub_Name sha1)} ) ] ) left_token: <Left_CommandSub '$('> spids: [5608 5626] ) } spids: [5607] ) ] spids: [5607] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:used) op: Equal rhs: {(DQ ($ VSub_Name '$used') ($ VSub_Name '$sha1') (' '))} spids: [5629] ) ] spids: [5629] ) (While cond: [(C {(read)} {(-r)} {(squash)} {(action)} {(msg_prefix)} {(msg_content)})] body: (DoGroup children: [ (Case to_match: {(DQ (' ') ($ VSub_Name '$used'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$squash') (' ')) (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [5665 5672 5676 16777215] ) ] spids: [5655 5662 5679] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:emit) op: Equal rhs: {(0)} spids: [5682] ) ] spids: [5682] ) (Case to_match: {(DQ ($ VSub_Name '$action'))} arms: [ (case_arm pat_list: [{(Lit_Other '+') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name action> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('+')} ) spids: [5702 5706] ) ) } spids: [5700] ) ] spids: [5700] ) (Case to_match: {(DQ ($ VSub_Name '$msg_content'))} arms: [ (case_arm pat_list: [{(DQ ($ VSub_Name '$sha1')) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:emit) op: Equal rhs: {(1)} spids: [5728] ) ] spids: [5728] ) ] spids: [5723 5726 5730 16777215] ) ] spids: [5714 5720 5732] ) ] spids: [5695 5697 5734 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Name '$message'))} arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Name '$msg_content')) (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:emit) op: Equal rhs: {(1)} spids: [5759] ) ] spids: [5759] ) ] spids: [5754 5757 5761 16777215] ) ] spids: [5745 5751 5763] ) ] spids: [5737 5738 5765 16777215] ) ] spids: [5686 5692 5768] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$emit')} {(Lit_Other '=')} {(1)}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ (${ VSub_Name format))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg_content) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(log)} {(-n)} {(1)} {(--format) (Lit_Other '=') (DQ (${ VSub_Name format)) } {(${ VSub_Name squash)} ) ] ) left_token: <Left_CommandSub '$('> spids: [5802 5822] ) } spids: [5801] ) ] spids: [5801] ) ] spids: [16777215 5798] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg_content) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$msg_prefix'))} ) (C {(sed)} {(DQ ('s/,/! /g'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [5830 5844] ) ($ VSub_Name '$msg_content') ) } spids: [5828] ) ] spids: [5828] ) ] spids: [5825 5849] ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$action') (' ') ($ VSub_Name '$squash') (' ') ($ VSub_Name '$msg_content') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:used) op: Equal rhs: { (DQ ($ VSub_Name '$used') ($ VSub_Name '$squash') (' ')) } spids: [5867] ) ] spids: [5867] ) ] spids: [16777215 5782] ) ] spids: [16777215 5875] ) ] spids: [5652 5878] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (.sq))} spids: [5880] ) ] ) ] spids: [5550 5887] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (.rearranged))} spids: [5889] ) (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5895] ) ] ) (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1') (.rearranged))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5908] ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (.sq))} {(DQ ($ VSub_Number '$1') (.rearranged))}) ] spids: [5214] ) spids: [5209 5213] ) (FuncDef name: add_exec_commands body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:first) op:Equal rhs:{(t)} spids:[5948])] spids: [5948] ) (While cond: [(C {(read)} {(-r)} {(insn)} {(rest)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$insn')} arms: [ (case_arm pat_list: [{(pick)}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$first'))}) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$cmd'))}) ] ) ] spids: [5973 5974 5999 16777215] ) ] spids: [5966 5970 6002] ) (C {(printf)} {(DQ ('%s %s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$insn'))} {(DQ ($ VSub_Name '$rest'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(EmptyPart)} spids: [6022] ) ] spids: [6022] ) ] spids: [5963 6025] ) ) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$cmd'))}) ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [6041] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1') (.new))} spids: [6046] ) ] spids: [5945] ) (C {(mv)} {(DQ ($ VSub_Number '$1') (.new))} {(DQ ($ VSub_Number '$1'))}) ] ) ] spids: [5942] ) spids: [5937 5941] ) (FuncDef name: check_commit_sha body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:badsha) op:Equal rhs:{(0)} spids:[6092])] spids: [6092] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))})] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:badsha) op:Equal rhs:{(1)} spids:[6110])] spids: [6110] ) ] spids: [16777215 6107] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1_verif) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} {($ VSub_Number '$1') (Lit_Other '^') (Lit_LBrace '{') (commit) (Lit_RBrace '}') } ) ] ) left_token: <Left_CommandSub '$('> spids: [6119 6133] ) ) } spids: [6117] ) ] spids: [6117] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$sha1_verif'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:badsha) op: Equal rhs: {(1)} spids: [6151] ) ] spids: [6151] ) ] spids: [16777215 6148] ) ] spids: [16777215 6155] ) ] spids: [6114 6158] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$badsha')} {(-ne)} {(0)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:line) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(-e)} {(DQ (${ VSub_Number 2) (p))} {(DQ ($ VSub_Number '$3'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [6178 6195] ) ) } spids: [6176] ) ] spids: [6176] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ( "Warning: the SHA-1 is missing or isn't a commit in the following line:\n" ) (' - ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (line) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [6202 6212] ) ) } ) (C {(warn)}) ] spids: [16777215 6173] ) ] spids: [16777215 6219] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$badsha')} ) ] spids: [6089] ) spids: [6084 6088] ) (FuncDef name: check_bad_cmd_and_sha body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:retval) op:Equal rhs:{(0)} spids:[6244])] spids: [6244] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:lineno) op:Equal rhs:{(0)} spids:[6248])] spids: [6248] ) (While cond: [(C {(read)} {(-r)} {(command)} {(rest)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$lineno')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [6267 6276] ) } spids: [6266] ) ] spids: [6266] ) (Case to_match: {($ VSub_Name '$command')} arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Name '$comment_char')) (Lit_Other '*')} {(SQ )} {(noop)} {(x)} {(exec)} ] spids: [6287 6299 6306 16777215] ) (case_arm pat_list: [{(DQ ($ VSub_Name '$cr'))}] spids: [6310 6312 6323 16777215] ) (case_arm pat_list: [ {(pick)} {(p)} {(drop)} {(d)} {(reword)} {(r)} {(edit)} {(e)} {(squash)} {(s)} {(fixup)} {(f)} ] action: [ (If arms: [ (if_arm cond: [ (Pipeline children: [ (C {(check_commit_sha)} { (DQ (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('[ \t]*')} ) spids: [6359 6363] ) ) } {(DQ ($ VSub_Name '$lineno'))} {(DQ ($ VSub_Number '$1'))} ) ] negated: T ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(1)} spids: [6378] ) ] spids: [6378] ) ] spids: [16777215 6375] ) ] spids: [16777215 6382] ) ] spids: [6326 6349 6385 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:line) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(-e)} {(DQ (${ VSub_Name lineno) (p))} {(DQ ($ VSub_Number '$1'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [6394 6411] ) ) } spids: [6392] ) ] spids: [6392] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ( "Warning: the command isn't recognized in the following line:\n" ) (' - ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (line) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [6418 6428] ) ) } ) (C {(warn)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(1)} spids: [6435] ) ] spids: [6435] ) ] spids: [6388 6389 6439 16777215] ) ] spids: [6279 6283 6442] ) ] spids: [6263 6445] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [6447] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$retval')} ) ] spids: [6241] ) spids: [6236 6240] ) (FuncDef name: todo_list_to_sha_list body: (BraceGroup children: [ (Pipeline children: [ (C {(git)} {(stripspace)} {(--strip-comments)}) (While cond: [(C {(read)} {(-r)} {(command)} {(sha1)} {(rest)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$command')} arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Name '$comment_char')) (Lit_Other '*')} {(SQ )} {(noop)} {(x)} {(DQ (exec))} ] spids: [6507 6521 6524 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:long_sha) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(rev-list)} {(--no-walk)} {(DQ ($ VSub_Name '$sha1'))} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6543] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [6532 6545] ) } spids: [6531] ) ] spids: [6531] ) (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$long_sha'))} ) ] spids: [6527 6528 6561 16777215] ) ] spids: [6499 6503 6564] ) ] spids: [6496 6567] ) ) ] negated: F ) ] spids: [6471] ) spids: [6466 6470] ) (FuncDef name: warn_lines body: (BraceGroup children: [ (While cond: [(C {(read)} {(-r)} {(line)})] body: (DoGroup children: [(C {(warn)} {(DQ (' - ') ($ VSub_Name '$line'))})] spids: [6592 6603] ) ) ] spids: [6580] ) spids: [6575 6579] ) (FuncDef name: checkout_onto body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_REFLOG_ACTION) op: Equal rhs: { (DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': checkout ') ($ VSub_Name '$onto_name')) } spids: [6619] ) ] spids: [6619] ) (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(git)} {(checkout)} {($ VSub_Name '$onto')}) (C {(die_abort)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('could not detach HEAD'))})] ) left_token: <Left_CommandSub '$('> spids: [6640 6646] ) ) } ) ] ) (C {(git)} {(update-ref)} {(ORIG_HEAD)} {($ VSub_Name '$orig_head')}) ] spids: [6616] ) spids: [6611 6615] ) (FuncDef name: get_missing_commit_check_level body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check_level) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--get)} {(rebase.missingCommitsCheck)})] ) left_token: <Left_CommandSub '$('> spids: [6670 6678] ) } spids: [6669] ) ] spids: [6669] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check_level) op: Equal rhs: { (BracedVarSub token: <VSub_Name check_level> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(ignore)}) spids: [6682 6686] ) } spids: [6681] ) ] spids: [6681] ) (Pipeline children: [ (C {(printf)} {(SQ <'%s'>)} {(DQ ($ VSub_Name '$check_level'))}) (C {(tr)} {(SQ <A-Z>)} {(SQ <a-z>)}) ] negated: F ) ] spids: [6666] ) spids: [6661 6665] ) (FuncDef name: check_todo_list body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:raise_error) op:Equal rhs:{(f)} spids:[6738])] spids: [6738] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check_level) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(get_missing_commit_check_level)})]) left_token: <Left_CommandSub '$('> spids: [6744 6746] ) } spids: [6743] ) ] spids: [6743] ) (Case to_match: {(DQ ($ VSub_Name '$check_level'))} arms: [ (case_arm pat_list: [{(warn)} {(error)}] action: [ (SimpleCommand words: [{(todo_list_to_sha_list)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.backup)} spids: [6771] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.oldsha1)} spids: [6777] ) ] ) (SimpleCommand words: [{(todo_list_to_sha_list)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [6786] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.newsha1)} spids: [6791] ) ] ) (SimpleCommand words: [{(sort)} {(-u)} {(DQ ($ VSub_Name '$todo')) (.oldsha1)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.oldsha1) (Lit_Other '+')} spids: [6812] ) ] ) (C {(mv)} {(DQ ($ VSub_Name '$todo')) (.oldsha1) (Lit_Other '+')} {(DQ ($ VSub_Name '$todo')) (.oldsha1)} ) (SimpleCommand words: [{(sort)} {(-u)} {(DQ ($ VSub_Name '$todo')) (.newsha1)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.newsha1) (Lit_Other '+')} spids: [6843] ) ] ) (C {(mv)} {(DQ ($ VSub_Name '$todo')) (.newsha1) (Lit_Other '+')} {(DQ ($ VSub_Name '$todo')) (.newsha1)} ) (SimpleCommand words: [ {(comm)} {(-2)} {(-3)} {(DQ ($ VSub_Name '$todo')) (.oldsha1)} {(DQ ($ VSub_Name '$todo')) (.newsha1)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.miss)} spids: [6881] ) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo')) (.miss)})] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$check_level'))} {(Lit_Other '=')} {(error)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:raise_error) op: Equal rhs: {(t)} spids: [6920] ) ] spids: [6920] ) ] ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'Warning: some commits may have been dropped accidentally.\n' ) ('Dropped commits (newer to older):') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [6928 6936] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: { (DQ ( '--no-walk=sorted --format=oneline --abbrev-commit --stdin' ) ) } spids: [6945] ) ] spids: [6945] ) (Pipeline children: [ (SimpleCommand words: [{(git)} {(rev-list)} {($ VSub_Name '$opt')}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.miss)} spids: [6957] ) ] ) (C {(warn_lines)}) ] negated: F ) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ('To avoid this message, use ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (drop) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' to explicitly remove a commit.\n') ('\n') ( "Use 'git config rebase.missingCommitsCheck' to change the level of warnings.\n" ) ('The possible behaviours are: ignore, warn, error.') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [6972 6986] ) ) } ) (C {(warn)}) ] spids: [16777215 6905] ) ] spids: [16777215 6993] ) ] spids: [6759 6762 6996 16777215] ) (case_arm pat_list:[{(ignore)}] spids:[6999 7000 7003 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Unrecognized setting ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('check_level for option rebase.missingCommitsCheck. Ignoring.') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7013 7021] ) ) } ) ] spids: [7006 7007 7025 16777215] ) ] spids: [6750 6756 7028] ) (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(check_bad_cmd_and_sha)} {(DQ ($ VSub_Name '$todo'))})] negated: T ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:raise_error) op: Equal rhs: {(t)} spids: [7046] ) ] spids: [7046] ) ] spids: [16777215 7043] ) ] spids: [16777215 7050] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$raise_error')} {(Lit_Other '=')} {(t)})] action: [ (C {(checkout_onto)}) (C {(warn)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'." ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7091 7097] ) ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ("Or you can abort the rebase with 'git rebase --abort'."))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7104 7110] ) ) } ) ] spids: [16777215 7065] ) ] spids: [16777215 7114] ) ] spids: [6735] ) spids: [6730 6734] ) (FuncDef name: git_rebase__interactive body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$action'))} arms: [ (case_arm pat_list: [{(ControlFlow_Continue continue)}] action: [ (If arms: [ (if_arm cond: [(C {(git)} {(diff-index)} {(--cached)} {(--quiet)} {(HEAD)} {(--)})] action: [ (AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR')) (/CHERRY_PICK_HEAD)} ) (C {(rm)} {(DQ ($ VSub_Name '$GIT_DIR')) (/CHERRY_PICK_HEAD)}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not remove CHERRY_PICK_HEAD'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7220 7226] ) ) } ) ] ) ] spids: [16777215 7185] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$author_script'))})] negated: T ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt_quoted) op: Equal rhs: { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7253 7263] ) } ) spids: [7250 7264] ) } spids: [7249] ) ] spids: [7249] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ( 'You have staged changes in your working tree.\n' ) ('If these changes are meant to be\n') ('squashed into the previous commit, run:\n') ('\n') (' git commit --amend ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('gpg_sign_opt_quoted\n') ('\n') ( 'If they are meant to go into a new commit, run:\n' ) ('\n') (' git commit ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('gpg_sign_opt_quoted\n') ('\n') ("In both cases, once you're done, continue with:\n") ('\n') (' git rebase --continue\n') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7270 7293] ) ) } ) ] spids: [16777215 7246] ) ] spids: [16777215 7297] ) (AndOr ops: [Op_DPipe] children: [ (C {(.)} {(DQ ($ VSub_Name '$author_script'))}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'Error trying to find the author identity to amend commit' ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7312 7318] ) ) } ) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$amend'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:current_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--verify)} {(HEAD)}) ] ) left_token: <Left_CommandSub '$('> spids: [7337 7345] ) } spids: [7336] ) ] spids: [7336] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$current_head'))} {(Lit_Other '=')} { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$amend'))})] ) left_token: <Left_CommandSub '$('> spids: [7356 7362] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'You have uncommitted changes in your working tree. Please commit them\n' ) ("first and then run 'git rebase --continue' again.") ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7370 7378] ) ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(do_with_author)} {(git)} {(commit)} {(--amend)} {(--no-verify)} {(-F)} {(DQ ($ VSub_Name '$msg'))} {(-e)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [7402 7408] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not commit staged changes.'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7416 7422] ) ) } ) ] ) ] spids: [16777215 7333] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(do_with_author)} {(git)} {(commit)} {(--no-verify)} {(-F)} {(DQ ($ VSub_Name '$msg'))} {(-e)} { (BracedVarSub token: <VSub_Name gpg_sign_opt> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ($ VSub_Name '$gpg_sign_opt'))} ) spids: [7447 7453] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not commit staged changes.'))}) ] ) left_token: <Left_CommandSub '$('> spids: [7461 7467] ) ) } ) ] ) ] spids: [7426 7471] ) ] spids: [7230 7474] ) (If arms: [ (if_arm cond: [(C {(test)} {(-r)} {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)})] action: [ (C {(record_in_rewritten)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)}) ] ) left_token: <Left_CommandSub '$('> spids: [7496 7503] ) ) } ) ] spids: [16777215 7490] ) ] spids: [16777215 7507] ) (C {(require_clean_work_tree)} {(DQ (rebase))}) (C {(do_rest)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [7162 7163 7526 16777215] ) (case_arm pat_list: [{(skip)}] action: [ (C {(git)} {(rerere)} {(clear)}) (C {(do_rest)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [7528 7529 7548 16777215] ) (case_arm pat_list: [{(edit-todo)}] action: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [7560] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo')) (.new)} spids: [7565] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo')) (.new)} {(DQ ($ VSub_Name '$todo'))}) (C {(collapse_todo_ids)}) (C {(append_todo_help)}) (Pipeline children: [ (C {(gettext)} { (DQ ('\n') ('You are editing the todo file of an ongoing interactive rebase.\n') ('To continue rebase after editing, run:\n') (' git rebase --continue\n') ('\n') ) } ) (SimpleCommand words: [{(git)} {(stripspace)} {(--comment-lines)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [7610] ) ] ) ] negated: F ) (AndOr ops: [Op_DPipe] children: [ (C {(git_sequence_editor)} {(DQ ($ VSub_Name '$todo'))}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Could not execute editor'))})] ) left_token: <Left_CommandSub '$('> spids: [7629 7635] ) ) } ) ] ) (C {(expand_todo_ids)}) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [7550 7551 7646 16777215] ) ] spids: [7154 7160 7648] ) (C {(comment_for_reflog)} {(start)}) (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$switch_to'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_REFLOG_ACTION) op: Equal rhs: { (DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': checkout ') ($ VSub_Name '$switch_to') ) } spids: [7671] ) ] spids: [7671] ) (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(git)} {(checkout)} {(DQ ($ VSub_Name '$switch_to'))} {(--)}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not checkout ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (switch_to) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7697 7705] ) ) } ) ] ) (C {(comment_for_reflog)} {(start)}) ] spids: [16777215 7668] ) ] spids: [16777215 7714] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [7718 7726] ) } spids: [7717] ) ] spids: [7717] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(gettext)} {(DQ ('No HEAD?'))})]) left_token: <Left_CommandSub '$('> spids: [7733 7739] ) ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$state_dir'))}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not create temporary ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (state_dir) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7755 7763] ) ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/interactive)} spids: [7769] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Could not mark as interactive'))})] ) left_token: <Left_CommandSub '$('> spids: [7781 7787] ) ) } ) ] ) (C {(write_basic_state)}) (If arms: [ (if_arm cond: [(C {(test)} {(t)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$preserve_merges'))})] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$rebase_root'))})] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(mkdir)} {(DQ ($ VSub_Name '$rewritten'))}) (ForEach iter_name: c iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(merge-base)} {(--all)} {($ VSub_Name '$orig_head')} {($ VSub_Name '$upstream')} ) ] ) left_token: <Left_CommandSub '$('> spids: [7836 7846] ) } ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(echo)} {($ VSub_Name '$onto')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$c') } spids: [7856] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'Could not init rewritten commits' ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7870 7876] ) ) } ) ] ) ] spids: [7849 7880] ) spids: [7835 16777215] ) ] ) ] spids: [16777215 7818] ) ] else_action: [ (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(mkdir)} {(DQ ($ VSub_Name '$rewritten'))}) (SimpleCommand words: [{(echo)} {($ VSub_Name '$onto')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/root)} spids: [7899] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not init rewritten commits'))}) ] ) left_token: <Left_CommandSub '$('> spids: [7912 7918] ) ) } ) ] ) ] spids: [7883 7922] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merges_option) op: Equal rhs: {(EmptyPart)} spids: [7937] ) ] spids: [7937] ) ] spids: [16777215 7804] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merges_option) op: Equal rhs: {(DQ ('--no-merges --cherry-pick'))} spids: [7942] ) ] spids: [7942] ) ] spids: [7939 7947] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shorthead) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--short)} {($ VSub_Name '$orig_head')}) ] ) left_token: <Left_CommandSub '$('> spids: [7951 7959] ) } spids: [7950] ) ] spids: [7950] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortonto) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--short)} {($ VSub_Name '$onto')})] ) left_token: <Left_CommandSub '$('> spids: [7962 7970] ) } spids: [7961] ) ] spids: [7961] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$rebase_root'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortupstream) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--short)} {($ VSub_Name '$upstream')}) ] ) left_token: <Left_CommandSub '$('> spids: [7990 7998] ) } spids: [7989] ) ] spids: [7989] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: {($ VSub_Name '$upstream') (...) ($ VSub_Name '$orig_head')} spids: [8001] ) ] spids: [8001] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortrevisions) op: Equal rhs: {($ VSub_Name '$shortupstream') (..) ($ VSub_Name '$shorthead')} spids: [8007] ) ] spids: [8007] ) ] spids: [16777215 7986] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: {($ VSub_Name '$onto') (...) ($ VSub_Name '$orig_head')} spids: [8015] ) ] spids: [8015] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortrevisions) op: Equal rhs: {($ VSub_Name '$shorthead')} spids: [8021] ) ] spids: [8021] ) ] spids: [8012 8024] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:format) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--get)} {(rebase.instructionFormat)})] ) left_token: <Left_CommandSub '$('> spids: [8027 8035] ) } spids: [8026] ) ] spids: [8026] ) (Pipeline children: [ (C {(git)} {(rev-list)} {($ VSub_Name '$merges_option')} {(--format) (Lit_Other '=') (DQ ('%m%H ') (BracedVarSub token: <VSub_Name format> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Percent '%') (s)} ) spids: [8050 8055] ) ) } {(--reverse)} {(--left-right)} {(--topo-order)} {($ VSub_Name '$revisions')} { (BracedVarSub token: <VSub_Name restrict_revision> suffix_op: (StringUnary op_id: VTest_Plus arg_word: {('^') ($ VSub_Name '$restrict_revision')} ) spids: [8070 8075] ) } ) (C {(sed)} {(-n)} {(DQ ('s/^>//p'))}) (While cond: [(C {(read)} {(-r)} {(sha1)} {(rest)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$keep_empty'))}) (C {(is_empty_commit)} {($ VSub_Name '$sha1')}) (Pipeline children: [(C {(is_merge_commit)} {($ VSub_Name '$sha1')})] negated: T ) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment_out) op: Equal rhs: {(DQ ($ VSub_Name '$comment_char') (' '))} spids: [8133] ) ] spids: [8133] ) ] spids: [16777215 8130] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment_out) op: Equal rhs: {(EmptyPart)} spids: [8143] ) ] spids: [8143] ) ] spids: [8140 8146] ) (If arms: [ (if_arm cond: [ (C {(test)} {(t)} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$preserve_merges'))} ) ] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} { (DQ (${ VSub_Name comment_out) ('pick ') ($ VSub_Name '$sha1') (' ') ($ VSub_Name '$rest') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8183] ) ] ) ] spids: [16777215 8164] ) ] else_action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$rebase_root'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:preserve) op: Equal rhs: {(t)} spids: [8206] ) ] spids: [8206] ) (ForEach iter_name: p iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(git)} {(rev-list)} {(--parents)} {(-1)} {($ VSub_Name '$sha1')} ) (C {(cut)} {(-d) (SQ <' '>)} {(-s)} {(-f2-)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [8216 8239] ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$p') } ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:preserve) op: Equal rhs: {(f)} spids: [8261] ) ] spids: [8261] ) ] spids: [16777215 8258] ) ] spids: [16777215 8265] ) ] spids: [8242 8268] ) spids: [8215 16777215] ) ] spids: [16777215 8203] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:preserve) op: Equal rhs: {(f)} spids: [8274] ) ] spids: [8274] ) ] spids: [8271 8278] ) (If arms: [ (if_arm cond: [ (C {(test)} {(f)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$preserve'))}) ] action: [ (C {(touch)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$sha1')} ) (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} { (DQ (${ VSub_Name comment_out) ('pick ') ($ VSub_Name '$sha1') (' ') ($ VSub_Name '$rest') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8322] ) ] ) ] spids: [16777215 8294] ) ] spids: [16777215 8328] ) ] spids: [8189 8331] ) ] spids: [8101 8333] ) ) ] negated: F ) (If arms: [ (if_arm cond: [(C {(test)} {(t)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$preserve_merges'))})] action: [ (C {(mkdir)} {(DQ ($ VSub_Name '$dropped'))}) (Pipeline children: [ (C {(git)} {(rev-list)} {($ VSub_Name '$revisions')} {(--left-right)} {(--cherry-pick)} ) (SimpleCommand words: [{(sed)} {(-n)} {(DQ ('s/^>//p'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/not-cherry-picks)} spids: [8387] ) ] ) ] negated: F ) (Pipeline children: [ (C {(git)} {(rev-list)} {($ VSub_Name '$revisions')}) (While cond: [(C {(read)} {(rev)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$rev') } ) (Pipeline children: [ (SimpleCommand words: [ {(sane_grep)} {(DQ ($ VSub_Name '$rev'))} {(DQ ($ VSub_Name '$state_dir')) (/not-cherry-picks) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [8450] ) ] ) ] negated: T ) ] ) ] action: [ (Pipeline children: [ (C {(git)} {(rev-list)} {(--parents)} {(-1)} {($ VSub_Name '$rev')} ) (SimpleCommand words: [{(cut)} {(-d) (SQ <' '>)} {(-s)} {(-f2)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$dropped')) (/) ($ VSub_Name '$rev') } spids: [8496] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-list)} {(-1)} {($ VSub_Name '$rev')} ) ] ) left_token: <Left_CommandSub '$('> spids: [8506 8514] ) } spids: [8505] ) ] spids: [8505] ) (Sentence child: (SimpleCommand words: [ {(sane_grep)} {(-v)} {(DQ ('^[a-z][a-z]* ') ($ VSub_Name '$sha1'))} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8526] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name todo) (2))} spids: [8531] ) ] ) terminator: <Op_Semi ';'> ) (C {(mv)} {(DQ (${ VSub_Name todo) (2))} {(DQ ($ VSub_Name '$todo'))} ) (C {(rm)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$rev')} ) ] spids: [16777215 8454] ) ] spids: [16777215 8565] ) ] spids: [8419 8568] ) ) ] negated: F ) ] spids: [16777215 8351] ) ] spids: [16777215 8570] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo'))}) (SimpleCommand words: [{(echo)} {(noop)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8587] ) ] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$autosquash'))}) (C {(rearrange_squash)} {(DQ ($ VSub_Name '$todo'))}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$cmd'))}) (C {(add_exec_commands)} {(DQ ($ VSub_Name '$todo'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:todocount) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8634] ) ] ) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [8627 8644] ) } spids: [8626] ) ] spids: [8626] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:todocount) op: Equal rhs: { (BracedVarSub token: <VSub_Name todocount> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('* ')}) spids: [8647 8651] ) } spids: [8646] ) ] spids: [8646] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8656] ) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('\n') ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(eval_ngettext)} { (DQ ('Rebase ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shortrevisions onto ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shortonto (') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('todocount command)') ) } { (DQ ('Rebase ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shortrevisions onto ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('shortonto (') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('todocount commands)') ) } {(DQ ($ VSub_Name '$todocount'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [8667 8699] ) ('\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [8661] ) ] ) (C {(append_todo_help)}) (Pipeline children: [ (C {(gettext)} { (DQ ('\n') ('However, if you remove everything, the rebase will be aborted.\n') ('\n') ) } ) (SimpleCommand words: [{(git)} {(stripspace)} {(--comment-lines)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8720] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$keep_empty'))})] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$comment_char') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Note that empty commits are commented out'))}) ] ) left_token: <Left_CommandSub '$('> spids: [8748 8754] ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8757] ) ] ) ] spids: [16777215 8736] ) ] spids: [16777215 8762] ) (AndOr ops: [Op_DPipe] children: [ (C {(has_action)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (C {(cp)} {(DQ ($ VSub_Name '$todo'))} {(DQ ($ VSub_Name '$todo')) (.backup)}) (C {(collapse_todo_ids)}) (AndOr ops: [Op_DPipe] children: [ (C {(git_sequence_editor)} {(DQ ($ VSub_Name '$todo'))}) (C {(die_abort)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Could not execute editor'))})] ) left_token: <Left_CommandSub '$('> spids: [8805 8811] ) ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(has_action)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (C {(check_todo_list)}) (C {(expand_todo_ids)}) (AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {(-d)} {(DQ ($ VSub_Name '$rewritten'))}) (C {(test)} {(-n)} {(DQ ($ VSub_Name '$force_rebase'))}) (C {(skip_unnecessary_picks)}) ] ) (C {(checkout_onto)}) (C {(do_rest)}) ] spids: [7151] ) spids: [7146 7150] ) (C {(git_rebase__interactive)}) ] )