(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 (EscapedLiteralPart token:<Lit_EscapedChar '\\0'>) (15))}) ] ) 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 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'> ) } ) ] op_id: Op_DAmp ) (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: False ) ] ) 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:-1 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: False ) ] 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: [-1 431 447 -1] ) ] spids: [417 423 450] ) ] spids: [414] ) spids: [409 413] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:last_count) op:Equal rhs:{(SQ )} spids:[455])] spids: [455] ) (FuncDef name: mark_action_done body: (BraceGroup children: [ (SimpleCommand words: [{(sed)} {(-e)} {(1q)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [471] ) (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [477] ) ] ) (SimpleCommand words: [{(sed)} {(-e)} {(1d)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [490] ) (Redir op_id: Redir_DGreat fd: -1 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: -1 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [528] ) ] ) (C {(wc)} {(-l)}) ] negated: False ) ] ) 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: -1 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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [567] ) ] ) (C {(wc)} {(-l)}) ] negated: False ) ] ) 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: -1 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 (EscapedLiteralPart token:<Lit_EscapedChar '\\r'>))}) (AndOr children: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$verbose'))}) (C {(echo)})] op_id: Op_DPipe ) ] spids: [-1 608] ) ] spids: [-1 646] ) ] 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: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.new)} spids: [688] ) ] ) ] negated: False ) (SimpleCommand words: [{(sed)} {(-e)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [702] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$done')) (.new)} spids: [707] ) ] ) (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: [665] ) spids: [660 664] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [780] ) ] ) ] negated: False ) (If arms: [ (if_arm cond: [ (C {(test)} { (CommandSubPart command_list: (CommandList children: [(C {(get_missing_commit_check_level)})] ) left_token: <Left_CommandSub '$('> spids: [791 793] ) } {(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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [818] ) ] ) ] negated: False ) ] spids: [-1 800] ) ] 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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [842] ) ] ) ] negated: False ) ] spids: [824 848] ) ] spids: [749] ) spids: [744 748] ) (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: [863 875] ) ) } spids: [861] ) ] spids: [861] ) (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: [888 900 912 -1] ) (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '*') (SQ <' '>) (Lit_Other '?') (Lit_Other '*')} ] action: [(C {(git)} {(diff-tree)} {(-p)} {(DQ ($ VSub_Number '$1') ('^!'))})] spids: [915 922 937 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(echo)} {(DQ ('Root commit'))})] spids: [940 941 951 -1] ) ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/patch)} spids: [956] ) ] spids: [879 885 954] ) (AndOr children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$msg'))}) (SimpleCommand words: [{(commit_message)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$msg'))} spids: [981] ) ] ) ] op_id: Op_DPipe ) (AndOr 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: -1 arg_word: {(DQ ($ VSub_Name '$author_script'))} spids: [1005] ) ] ) ] op_id: Op_DPipe ) ] spids: [858] ) spids: [853 857] ) (FuncDef name: die_with_patch body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} spids: [1028] ) ] ) (C {(make_patch)} {(DQ ($ VSub_Number '$1'))}) (C {(die)} {(DQ ($ VSub_Number '$2'))}) ] spids: [1019] ) spids: [1014 1018] ) (FuncDef name: exit_with_patch body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} spids: [1066] ) ] ) (C {(make_patch)} {($ VSub_Number '$1')}) (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$amend'))} spids: [1087] ) ] ) (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: [1098 1108] ) } ) spids: [1095 1109] ) } spids: [1094] ) ] spids: [1094] ) (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: [1115 1130] ) ) } ) (C {(warn)}) (C {(exit)} {($ VSub_Number '$2')}) ] spids: [1057] ) spids: [1052 1056] ) (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: [1149] ) spids: [1144 1148] ) (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: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [1193] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1186 1197] ) ) } ) ] spids: [1178] ) spids: [1173 1177] ) (FuncDef name: is_empty_commit body: (BraceGroup children: [ (AndOr 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: [1228] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1211 1230] ) } spids: [1210] ) ] spids: [1210] ) (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$1')} spids: [1237] ) ] spids: [1237] ) (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: [1244 1251] ) ) } ) ] spids: [1234] ) ] op_id: Op_DPipe ) (AndOr 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: [1277] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1259 1279] ) } spids: [1258] ) ] spids: [1258] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ptree) op: Equal rhs: {(4b825dc642cb6eb9a060e54bf8d69288fbee4904)} spids: [1284] ) ] spids: [1284] ) ] op_id: Op_DPipe ) (C {(test)} {(DQ ($ VSub_Name '$tree'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$ptree'))}) ] spids: [1207] ) spids: [1203 1206] ) (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:-1 arg_word:{(/dev/null)} spids:[1324]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1327]) ] ) ] spids: [1307] ) spids: [1303 1306] ) (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: [1347 1364] ) ] spids: [1344] ) spids: [1339 1343] ) (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: [1393 1399] ) ) } spids: [1391] ) ] spids: [1391] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$GIT_SEQUENCE_EDITOR'))} {(Lit_Other ']')} ) ] action: [ (AndOr 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: [1421 1427] ) ) } spids: [1419] ) ] spids: [1419] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] op_id: Op_DPipe ) ] spids: [-1 1416] ) ] spids: [-1 1437] ) ] spids: [-1 1388] ) ] spids: [-1 1440] ) (C {(eval)} {(DQ ($ VSub_Name '$GIT_SEQUENCE_EDITOR'))} {(SQ <'"$@"'>)}) ] spids: [1374] ) spids: [1369 1373] ) (FuncDef name: pick_one body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ff) op:Equal rhs:{(--ff)} spids:[1465])] spids: [1465] ) (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: [1481] ) ] spids: [1481] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ff) op:Equal rhs:{(SQ )} spids:[1485])] spids: [1485] ) ] spids: [1478 1479 1487 -1] ) (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: [1492] ) ] spids: [1492] ) ] spids: [1489 1490 1495 -1] ) ] spids: [1470 1476 1497] ) (Case to_match: {(DQ ($ VSub_Name '$force_rebase'))} arms: [ (case_arm pat_list:[{(SQ )}] spids:[-115101512-1]) (case_arm pat_list: [{(Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ff) op:Equal rhs:{(SQ )} spids:[1518])] spids: [1518] ) ] spids: [1514 1516 1520 -1] ) ] spids: [1500 1506 1522] ) (AndOr 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: [1540 1548] ) ) } ) ] op_id: Op_DPipe ) (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: [1565] ) ] spids: [1565] ) ] spids: [-1 1562] ) ] spids: [-1 1571] ) (AndOr children: [ (C {(test)} {(-d)} {(DQ ($ VSub_Name '$rewritten'))}) (AndOr children: [ (C {(pick_one_preserving_merges)} {(DQ ($ VSub_At '$@'))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (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: [1610 1620] ) } ) spids: [1607 1621] ) } {(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: [1647] ) ] spids: [1647] ) (Case to_match: {(DQ ($ VSub_Name '$ret'))} arms: [ (case_arm pat_list: [{(Lit_Other '[') (01) (Lit_Other ']')}] spids: [1659 1662 1664 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(reschedule_last_action)})] spids: [1666 1667 1671 -1] ) ] spids: [1651 1657 1673] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$ret')}) ] spids: [1462] ) spids: [1457 1461] ) (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:[1691])] spids: [1691] ) (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: [1708] ) ] spids: [1708] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha1) op: Equal rhs: {($ VSub_Number '$2')} spids: [1712] ) ] spids: [1712] ) ] spids: [1704 1705 1716 -1] ) (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: [1723] ) ] spids: [1723] ) ] spids: [1719 1720 1727 -1] ) ] spids: [1695 1701 1730] ) (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: [1734 1740] ) } spids: [1733] ) ] spids: [1733] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$current_commit') } spids: [1791] ) ] ) ] spids: [1782 1800] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/current-commit)} spids: [1802] ) ] ) (AndOr 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: [1822 1828] ) ) } ) ] op_id: Op_DPipe ) ] spids: [-1 1772] ) ] spids: [-1 1832] ) ] spids: [-1 1756] ) ] spids: [-1 1835] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$sha1')}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/current-commit)} spids: [1843] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:new_parents) op:Equal rhs:{(SQ )} spids:[1856])] spids: [1856] ) (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: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1862 1885] ) ) } spids: [1859] ) ] spids: [1859] ) (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: [1907] ) ] spids: [1907] ) ] spids: [-1 1904] ) ] spids: [-1 1913] ) (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: [1937 1949] ) } spids: [1936] ) ] spids: [1936] ) (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: [1954 1959] ) ) } spids: [1952] ) ] spids: [1952] ) (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: [1981 1989] ) } spids: [1980] ) ] spids: [1980] ) (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: [2020 2026] ) } spids: [2019] ) ] spids: [2019] ) ] spids: [-1 2016] ) ] spids: [-1 2029] ) (AndOr 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: [2044] ) ] spids: [2044] ) ] op_id: Op_DAmp ) (Case to_match: {(DQ ($ VSub_Name '$new_parents'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') ($ VSub_Name '$new_p') (Lit_Other '*')}] spids: [2057 2060 2063 -1] ) (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: [2073] ) ] spids: [2073] ) ] spids: [2069 2070 2081 -1] ) ] spids: [2048 2054 2084] ) ] spids: [-1 1977] ) ] 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: [2106] ) ] spids: [2106] ) (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: [2112 2120] ) ) } spids: [2110] ) ] spids: [2110] ) (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$replacement'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replacement) op: Equal rhs: {(root)} spids: [2134] ) ] spids: [2134] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pend) op: Equal rhs: { (DQ (' ') ($ VSub_Name '$replacement') ($ VSub_Name '$pend')) } spids: [2138] ) ] spids: [2138] ) ] spids: [-1 2103] ) ] 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: [2149] ) ] spids: [2149] ) ] spids: [2146 2157] ) ] spids: [2087 2160] ) ] spids: [1933 2163] ) ) (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: [2182 2190] ) ) } ) (AndOr 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: [2210 2218] ) ) } ) ] op_id: Op_DPipe ) ] spids: [2173 2174 2222 -1] ) (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: [2230 2242] ) } spids: [2229] ) ] spids: [2229] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (-n))} {(Lit_Other ']')} ) ] action: [ (AndOr children: [ (SimpleCommand words: [{(output)} {(git)} {(checkout)} {($ VSub_Name '$first_parent')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2279] ) ] ) (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: [2289 2297] ) ) } ) ] op_id: Op_DPipe ) ] spids: [-1 2264] ) ] spids: [-1 2301] ) (Case to_match: {(DQ ($ VSub_Name '$new_parents'))} arms: [ (case_arm pat_list: [{(SQ <' '>) (Lit_Other '*') (SQ <' '>) (Lit_Other '*')}] action: [ (AndOr 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: [2341 2349] ) ) } ) ] op_id: Op_DAmp ) (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: [2359 2363] ) } spids: [2358] ) ] spids: [2358] ) (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: [2375 2379] ) ) } spids: [2373] ) ] spids: [2373] ) (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: [2388 2393] ) } spids: [2387] ) ] spids: [2387] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merge_args) op: Equal rhs: {(DQ ('--no-log --no-ff'))} spids: [2396] ) ] spids: [2396] ) (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: True ) ] action: [ (SimpleCommand words: [ {(printf)} { (DQ ('%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>)) } {(DQ ($ VSub_Name '$msg_content'))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)} spids: [2434] ) ] ) (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: [2447 2455] ) ) } ) ] spids: [-1 2420] ) ] spids: [-1 2459] ) (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: [2467 2475] ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [2478] ) ] ) ] spids: [2315 2322 2485 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr 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: [2505 2515] ) } ) spids: [2502 2516] ) } {(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: [2536 2544] ) ) } ) ] op_id: Op_DPipe ) ] spids: [2488 2489 2548 -1] ) ] spids: [2305 2311 2551] ) ] spids: [2225 2226 2554 -1] ) ] spids: [2166 2170 2557] ) ] spids: [1688] ) spids: [1683 1687] ) (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: [2570] ) ] spids: [2570] ) (C {(eval_gettext)} { (DQ ('This is the commit message #') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{n}:') ) } ) ] spids: [2567] ) spids: [2562 2566] ) (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: [2593] ) ] spids: [2593] ) (C {(eval_gettext)} { (DQ ('The commit message #') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{n} will be skipped:') ) } ) ] spids: [2590] ) spids: [2585 2589] ) (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 children: [ (C {(mv)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$squash_msg')) (.bak)} ) (C {(exit)}) ] op_id: Op_DPipe ) (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') ('.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) ('[0-9][0-9]*') (EscapedLiteralPart token: <Lit_EscapedChar '\\)'> ) ('.*/') (EscapedLiteralPart token:<Lit_EscapedChar '\\1'>) (/p) ) } {(-e)} {(DQ (q))} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$squash_msg')) (.bak)} spids: [2677] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2648 2683] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2647 2687] ) } spids: [2646] ) ] spids: [2646] ) (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: [2702 2724] ) ) } ) (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: -1 arg_word: {(DQ ($ VSub_Name '$squash_msg')) (.bak)} spids: [2742] ) ] ) ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2751] ) ] spids: [2690] ) ] spids: [-1 2627] ) ] else_action: [ (AndOr children: [ (SimpleCommand words: [{(commit_message)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$fixup_msg'))} spids: [2764] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ('Cannot write ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (fixup_msg) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2775 2783] ) ) } ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(2)} spids:[2787])] spids: [2787] ) (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: [2803 2809] ) ) } ) (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: [2822 2828] ) ) } ) (C {(echo)}) (C {(cat)} {(DQ ($ VSub_Name '$fixup_msg'))}) ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2844] ) ] spids: [2791] ) ] spids: [2757 2850] ) (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: [2885 2889] ) ) } ) (C {(echo)}) (C {(commit_message)} {($ VSub_Number '$2')}) ] spids: [2860 2861 2901 -1] ) (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: [2920 2924] ) ) } ) (C {(echo)}) (Pipeline children: [ (C {(commit_message)} {($ VSub_Number '$2')}) (C {(git)} {(stripspace)} {(--comment-lines)}) (C {(sed)} {(-e)} {(SQ <'s/ /\t/'>)}) ] negated: False ) ] spids: [2904 2905 2958 -1] ) ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$squash_msg'))} spids: [2963] ) ] spids: [2853 2857 2961] ) ] spids: [2613] ) spids: [2608 2612] ) (FuncDef name: peek_next_command body: (BraceGroup children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [2985] ) ] ) (C {(sed)} {(-n)} {(-e)} {(SQ <'s/ .*//p'>)} {(-e)} {(q)}) ] negated: False ) ] spids: [2976] ) spids: [2971 2975] ) (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: [3034] ) ] spids: [3034] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Number '$2')} spids: [3038] ) ] spids: [3038] ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$msg'))}) (C {(exit)}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$fixup_msg'))}) (AndOr children: [ (C {(cp)} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)}) (C {(exit)}) ] op_id: Op_DPipe ) (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: [3088 3098] ) ) } ) (C {(die_with_patch)} {($ VSub_Name '$sha1')} {(DQ )}) ] spids: [3031] ) spids: [3027 3030] ) (FuncDef name: flush_rewritten_pending body: (BraceGroup children: [ (AndOr children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_pending'))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (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: [3134 3142] ) ) } spids: [3132] ) ] spids: [3132] ) (SimpleCommand words: [{(sed)} {(DQ (s/) (Lit_Other '$') ('/ ') ($ VSub_Name '$newsha1') (/))}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_pending'))} spids: [3156] ) (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [3162] ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$rewritten_pending'))}) ] spids: [3116] ) spids: [3112 3115] ) (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: [3189 3195] ) ) } spids: [3187] ) ] spids: [3187] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$oldsha1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_pending'))} spids: [3205] ) ] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [3216 3218] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] spids: [3224 3231 3234 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(flush_rewritten_pending)})] spids: [3237 3238 3244 -1] ) ] spids: [3213 3221 3247] ) ] spids: [3184] ) spids: [3180 3183] ) (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: [3260] ) ] spids: [3260] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Number '$2')} spids: [3264] ) ] spids: [3264] ) (If arms: [ (if_arm cond: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(git)} {(rev-parse)} {(HEAD)})]) left_token: <Left_CommandSub '$('> spids: [3273 3279] ) ) } {(Lit_Other '=')} {(DQ ($ VSub_Name '$squash_onto'))} ) ] action: [ (AndOr children: [ (C {(git)} {(commit)} {(--allow-empty)} {(--allow-empty-message)} {(--amend)} {(--no-post-rewrite)} {(-n)} {(-q)} {(-C)} {($ VSub_Name '$sha1')} ) (AndOr children: [ (C {(pick_one)} {(-n)} {($ VSub_Name '$sha1')}) (AndOr children: [ (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: [3382 3388] ) } ) (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: [3398 3408] ) ) } ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [-1 3289] ) ] else_action: [ (AndOr 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: [3427 3437] ) ) } ) ] op_id: Op_DPipe ) ] spids: [3412 3441] ) ] spids: [3257] ) spids: [3252 3256] ) (FuncDef name: do_next body: (BraceGroup children: [ (AndOr children: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$msg'))} {(DQ ($ VSub_Name '$author_script'))} {(DQ ($ VSub_Name '$amend'))} {(DQ ($ VSub_Name '$state_dir')) (/stopped-sha)} ) (C {(exit)}) ] op_id: Op_DPipe ) (SimpleCommand words: [{(read)} {(-r)} {(command)} {(sha1)} {(rest)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [3490] ) ] ) (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: [3507 3519 3525 -1] ) (case_arm pat_list: [{(DQ ($ VSub_Name '$cr'))}] action: [(C {(mark_action_done)})] spids: [3529 3531 3541 -1] ) (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: [3544 3547 3573 -1] ) (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 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: [3608 3614] ) } ) (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: [3624 3638] ) ) } ) (C {(exit_with_patch)} {($ VSub_Name '$sha1')} {(1)}) ] spids: [3618] ) ] op_id: Op_DPipe ) (C {(record_in_rewritten)} {($ VSub_Name '$sha1')}) ] spids: [3576 3579 3657 -1] ) (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: [3685 3693] ) } spids: [3684] ) ] spids: [3684] ) (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: [3699 3709] ) ) } ) (C {(exit_with_patch)} {($ VSub_Name '$sha1')} {(0)}) ] spids: [3660 3663 3720 -1] ) (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: [3748] ) ] spids: [3748] ) ] spids: [3742 3745 3752 -1] ) (case_arm pat_list: [{(fixup)} {(f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:squash_style) op: Equal rhs: {(fixup)} spids: [3761] ) ] spids: [3761] ) ] spids: [3755 3758 3765 -1] ) ] spids: [3733 3739 3768] ) (C {(comment_for_reflog)} {($ VSub_Name '$squash_style')}) (AndOr children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$done'))}) (AndOr children: [ (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: [3799 3807] ) ) } ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (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: [3823 3827] ) } spids: [3822] ) ] spids: [3822] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$author_script_content'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$author_script'))} spids: [3836] ) ] ) (C {(eval)} {(DQ ($ VSub_Name '$author_script_content'))}) (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(pick_one)} {(-n)} {($ VSub_Name '$sha1')})] negated: True ) ] action: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$amend'))} spids: [3872] ) ] ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))}) ] spids: [-1 3861] ) ] spids: [-1 3887] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [3893 3895] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] action: [ (AndOr 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: [3939 3945] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] op_id: Op_DPipe ) ] spids: [3901 3908 3959 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$fixup_msg'))})] action: [ (AndOr 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: [4002 4008] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] op_id: Op_DPipe ) ] spids: [-1 3981] ) ] else_action: [ (AndOr children: [ (C {(cp)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$GIT_DIR')) (/SQUASH_MSG)} ) (C {(exit)}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR')) (/MERGE_MSG)}) (AndOr 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: [4072 4078] ) } ) (C {(die_failed_squash)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$rest'))} ) ] op_id: Op_DPipe ) ] spids: [4022 4092] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$squash_msg'))} {(DQ ($ VSub_Name '$fixup_msg'))} ) ] spids: [3962 3963 4108 -1] ) ] spids: [3890 3898 4111] ) (C {(record_in_rewritten)} {($ VSub_Name '$sha1')}) ] spids: [3723 3730 4119 -1] ) (case_arm pat_list: [{(x)} {(DQ (exec))}] action: [ (SimpleCommand words: [{(read)} {(-r)} {(command)} {(rest)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [4138] ) ] ) (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: [4158 4162] ) ) } {(-c)} {(DQ ($ VSub_Name '$rest'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status) op: Equal rhs: {($ VSub_QMark '$?')} spids: [4175] ) ] spids: [4175] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dirty) op:Equal rhs:{(f)} spids:[4183])] spids: [4183] ) (AndOr children: [ (Subshell child: (SimpleCommand words: [{(require_clean_work_tree)} {(DQ (rebase))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [4194] ) ] ) spids: [4187 4196] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dirty) op: Equal rhs: {(t)} spids: [4200] ) ] spids: [4200] ) ] op_id: Op_DPipe ) (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: [4223 4231] ) ) } ) (AndOr 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: [4251 4257] ) ) } ) ] op_id: Op_DPipe ) (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: [4265 4274] ) ) } ) (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: [4298] ) ] spids: [4298] ) ] spids: [-1 4295] ) ] spids: [-1 4302] ) (C {(exit)} {(DQ ($ VSub_Name '$status'))}) ] spids: [-1 4217] ) (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: [4335 4348] ) ) } ) (C {(warn)}) (C {(exit)} {(1)}) ] spids: [4312 4325] ) ] spids: [-1 4360] ) ] spids: [4122 4127 4363 -1] ) (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: [4373 4385] ) ) } ) (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: [4391 4397] ) ) } spids: [4389] ) ] spids: [4389] ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(--verify)} {(-q)} {(DQ ($ VSub_Name '$sha1'))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [4415] ) ] ) ] action: [ (C {(die_with_patch)} {($ VSub_Name '$sha1')} {(DQ ($ VSub_Name '$fixtodo'))}) ] spids: [-1 4419] ) ] else_action: [(C {(die)} {(DQ ($ VSub_Name '$fixtodo'))})] spids: [4431 4441] ) ] spids: [4366 4367 4444 -1] ) ] spids: [3497 3503 4447] ) (AndOr children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) (AndOr children: [ (C {(comment_for_reflog)} {(finish)}) (AndOr children: [ (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: [4472 4478] ) } spids: [4471] ) ] spids: [4471] ) (AndOr children: [ (Case to_match: {($ VSub_Name '$head_name')} arms: [ (case_arm pat_list: [{(refs/) (Lit_Other '*')}] action: [ (AndOr 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: [4495] ) ] spids: [4495] ) (AndOr children: [ (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')} ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [4490 4492 4547 -1] ) ] spids: [4483 4487 4550] ) (AndOr children: [ (BraceGroup children: [ (AndOr children: [ (C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/verbose)} ) (C {(git)} {(diff-tree)} {(--stat)} {($ VSub_Name '$orig_head') (..HEAD)} ) ] op_id: Op_DPipe ) ] spids: [4554] ) (AndOr children: [ (BraceGroup children: [ (AndOr children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_list'))}) (AndOr children: [ (SimpleCommand words: [ {(git)} {(notes)} {(copy)} {(--for-rewrite) (Lit_Other '=') (rebase)} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [4610] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [4586] ) (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: [4632 4640] ) ) } spids: [4630] ) ] spids: [4630] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(test)} {(-x)} {(DQ ($ VSub_Name '$hook'))}) (C {(test)} {(-s)} {(DQ ($ VSub_Name '$rewritten_list'))}) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(DQ ($ VSub_Name '$hook'))} {(rebase)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten_list'))} spids: [4674] ) ] ) (C {(true)}) ] spids: [-1 4665] ) ] spids: [-1 4687] ) (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: [4695 4703] ) ) } ) ] op_id: Op_DAmp ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [3451] ) spids: [3446 3450] ) (FuncDef name: do_rest body: (BraceGroup children: [ (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (AndOr children: [(C {(do_next)}) (ControlFlow token:<ControlFlow_Break break>)] op_id: Op_DPipe ) ] spids: [4734 4744] ) ) ] spids: [4726] ) spids: [4721 4725] ) (FuncDef name: skip_unnecessary_picks body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fd) op:Equal rhs:{(3)} spids:[4760])] spids: [4760] ) (AndOr 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: [4808 4812] ) } spids: [4807] ) ] spids: [4807] ) (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: [4818 4831] ) ) } 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: [4844] ) ] spids: [4844] ) ] spids: [4838 4841 4848 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fd) op: Equal rhs: {(1)} spids: [4855] ) ] spids: [4855] ) ] spids: [4851 4852 4859 -1] ) ] spids: [4815 4834 4862] ) ] spids: [4793 4800 4865 -1] ) (case_arm pat_list: [ {(3) (Lit_Comma ',') (DQ ($ VSub_Name '$comment_char')) (Lit_Other '*') } {(3) (Lit_Comma ',')} ] spids: [4868 4877 4884 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fd) op: Equal rhs: {(1)} spids: [4891] ) ] spids: [4891] ) ] spids: [4887 4888 4895 -1] ) ] spids: [4782 4790 4898] ) (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: [4909 4913] ) ($ VSub_Name '$rest') ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {($ VSub_Name '$fd')} spids: [4917] ) ] ) ] spids: [4775 4921] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [4923] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo') (.new))} spids: [4928] ) (Redir op_id: Redir_DGreat fd: 3 arg_word: {(DQ ($ VSub_Name '$done'))} spids: [4934] ) ] ) (AndOr children: [ (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo')) (.new)} {(DQ ($ VSub_Name '$todo'))}) (AndOr children: [ (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(peek_next_command)})]) left_token: <Left_CommandSub '$('> spids: [4961 4963] ) ) } arms: [ (case_arm pat_list: [{(squash)} {(s)} {(fixup)} {(f)}] action: [(C {(record_in_rewritten)} {(DQ ($ VSub_Name '$onto'))})] spids: [4969 4976 4986 -1] ) ] spids: [4958 4966 4989] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not skip unnecessary pick commands'))}) ] ) left_token: <Left_CommandSub '$('> spids: [4997 5003] ) ) } ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [4757] ) spids: [4752 4756] ) (FuncDef name: transform_todo_ids body: (BraceGroup children: [ (AndOr 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: [5041 5048 5059 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr 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: [5080 5084] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [5067 5085] ) } spids: [5066] ) ] spids: [5066] ) (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: [5094 5098] ) ) } spids: [5090] ) ] spids: [5090] ) ] op_id: Op_DAmp ) ] spids: [5062 5063 5102 -1] ) ] spids: [5031 5037 5105] ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$command') (BracedVarSub token: <VSub_Name rest> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(' ')}) spids: [5116 5120] ) ($ VSub_Name '$rest') ) } ) ] spids: [5028 5125] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [5127] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo') (.new))} spids: [5132] ) ] ) (C {(mv)} {(-f)} {(DQ ($ VSub_Name '$todo') (.new))} {(DQ ($ VSub_Name '$todo'))}) ] op_id: Op_DAmp ) ] spids: [5014] ) spids: [5009 5013] ) (FuncDef name: expand_todo_ids body: (BraceGroup children:[(C {(transform_todo_ids)})] spids:[5161]) spids: [5157 5160] ) (FuncDef name: collapse_todo_ids body: (BraceGroup children:[(C {(transform_todo_ids)} {(--short)})] spids:[5173]) spids: [5169 5172] ) (FuncDef name: rearrange_squash body: (BraceGroup children: [ (While cond: [(C {(read)} {(-r)} {(pick)} {(sha1)} {(message)})] body: (DoGroup children: [ (AndOr 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: [5248 5266] ) } spids: [5247] ) ] spids: [5247] ) ] op_id: Op_DPipe ) (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: [5292 5296] ) ) } spids: [5290] ) ] spids: [5290] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {($ VSub_Name '$message')} spids: [5300] ) ] spids: [5300] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(SQ )} spids: [5304] ) ] spids: [5304] ) (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: [5343 5347] ) (',') ) } spids: [5340] ) ] spids: [5340] ) (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: [5354 5358] ) ) } spids: [5352] ) ] spids: [5352] ) ] spids: [5329 5337 5362 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [5365 5366 5372 -1] ) ] spids: [5319 5325 5375] ) ] spids: [5316 5378] ) ) (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: [5421 5425] ) ) } {(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: [5453] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [5440 5455] ) ) } spids: [5438] ) ] spids: [5438] ) (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: [-1 5470] ) ] spids: [-1 5494] ) ] spids: [-1 5435] ) ] spids: [-1 5497] ) ] spids: [5279 5287 -1 5500] ) ] spids: [5269 5275 5500] ) ] spids: [5232 5503] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number '$1') (.sq))} spids: [5505] ) (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5511] ) ] ) (AndOr children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Number '$1') (.sq))}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:used) op:Equal rhs:{(SQ )} spids:[5532])] spids: [5532] ) (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: [5561 5568 5572 -1] ) ] spids: [5551 5558 5575] ) (C {(printf)} {(SQ <'%s\\n'>)} { (DQ ($ VSub_Name '$pick') (' ') ($ VSub_Name '$sha1') (' ') ($ VSub_Name '$message') ) } ) (AndOr 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: [5606 5624] ) } spids: [5605] ) ] spids: [5605] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:used) op: Equal rhs: {(DQ ($ VSub_Name '$used') ($ VSub_Name '$sha1') (' '))} spids: [5627] ) ] spids: [5627] ) (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: [5663 5670 5674 -1] ) ] spids: [5653 5660 5677] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:emit) op: Equal rhs: {(0)} spids: [5680] ) ] spids: [5680] ) (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: [5700 5704] ) ) } spids: [5698] ) ] spids: [5698] ) (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: [5726] ) ] spids: [5726] ) ] spids: [5721 5724 5728 -1] ) ] spids: [5712 5718 5730] ) ] spids: [5693 5695 5732 -1] ) (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: [5757] ) ] spids: [5757] ) ] spids: [5752 5755 5759 -1] ) ] spids: [5743 5749 5761] ) ] spids: [5735 5736 5763 -1] ) ] spids: [5684 5690 5766] ) (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: [5800 5820] ) } spids: [5799] ) ] spids: [5799] ) ] spids: [-1 5796] ) ] 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: False ) ] ) left_token: <Left_CommandSub '$('> spids: [5828 5842] ) ($ VSub_Name '$msg_content') ) } spids: [5826] ) ] spids: [5826] ) ] spids: [5823 5847] ) (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: [5865] ) ] spids: [5865] ) ] spids: [-1 5780] ) ] spids: [-1 5873] ) ] spids: [5650 5876] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1') (.sq))} spids: [5878] ) ] ) ] spids: [5548 5885] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number '$1') (.rearranged))} spids: [5887] ) (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5893] ) ] ) (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1') (.rearranged))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [5906] ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1') (.sq))} {(DQ ($ VSub_Number '$1') (.rearranged))}) ] spids: [5212] ) spids: [5207 5211] ) (FuncDef name: add_exec_commands body: (BraceGroup children: [ (AndOr children: [ (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:first) op:Equal rhs:{(t)} spids:[5946])] spids: [5946] ) (While cond: [(C {(read)} {(-r)} {(insn)} {(rest)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$insn')} arms: [ (case_arm pat_list: [{(pick)}] action: [ (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$first'))}) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$cmd'))}) ] op_id: Op_DPipe ) ] spids: [5971 5972 5997 -1] ) ] spids: [5964 5968 6000] ) (C {(printf)} {(DQ ('%s %s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} {(DQ ($ VSub_Name '$insn'))} {(DQ ($ VSub_Name '$rest'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(SQ )} spids: [6019] ) ] spids: [6019] ) ] spids: [5961 6022] ) ) (C {(printf)} {(DQ ('%s'))} {(DQ ($ VSub_Name '$cmd'))}) ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [6038] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number '$1') (.new))} spids: [6043] ) ] spids: [5943] ) (C {(mv)} {(DQ ($ VSub_Number '$1') (.new))} {(DQ ($ VSub_Number '$1'))}) ] op_id: Op_DAmp ) ] spids: [5940] ) spids: [5935 5939] ) (FuncDef name: check_commit_sha body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:badsha) op:Equal rhs:{(0)} spids:[6089])] spids: [6089] ) (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:[6107])] spids: [6107] ) ] spids: [-1 6104] ) ] 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: [6116 6130] ) ) } spids: [6114] ) ] spids: [6114] ) (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: [6148] ) ] spids: [6148] ) ] spids: [-1 6145] ) ] spids: [-1 6152] ) ] spids: [6111 6155] ) (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: [6175 6192] ) ) } spids: [6173] ) ] spids: [6173] ) (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: [6199 6209] ) ) } ) (C {(warn)}) ] spids: [-1 6170] ) ] spids: [-1 6216] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$badsha')} ) ] spids: [6086] ) spids: [6081 6085] ) (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:[6241])] spids: [6241] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:lineno) op:Equal rhs:{(0)} spids:[6245])] spids: [6245] ) (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: [6264 6273] ) } spids: [6263] ) ] spids: [6263] ) (Case to_match: {($ VSub_Name '$command')} arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Name '$comment_char')) (Lit_Other '*')} {(SQ )} {(noop)} {(x)} {(exec)} ] spids: [6284 6296 6303 -1] ) (case_arm pat_list: [{(DQ ($ VSub_Name '$cr'))}] spids: [6307 6309 6320 -1] ) (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: [6356 6360] ) ) } {(DQ ($ VSub_Name '$lineno'))} {(DQ ($ VSub_Number '$1'))} ) ] negated: True ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(1)} spids: [6375] ) ] spids: [6375] ) ] spids: [-1 6372] ) ] spids: [-1 6379] ) ] spids: [6323 6346 6382 -1] ) (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: [6391 6408] ) ) } spids: [6389] ) ] spids: [6389] ) (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: [6415 6425] ) ) } ) (C {(warn)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:retval) op: Equal rhs: {(1)} spids: [6432] ) ] spids: [6432] ) ] spids: [6385 6386 6436 -1] ) ] spids: [6276 6280 6439] ) ] spids: [6260 6442] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [6444] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$retval')} ) ] spids: [6238] ) spids: [6233 6237] ) (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: [6504 6518 6521 -1] ) (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: [6540] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [6529 6542] ) } spids: [6528] ) ] spids: [6528] ) (C {(printf)} {(DQ ('%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} {(DQ ($ VSub_Name '$long_sha'))} ) ] spids: [6524 6525 6557 -1] ) ] spids: [6496 6500 6560] ) ] spids: [6493 6563] ) ) ] negated: False ) ] spids: [6468] ) spids: [6463 6467] ) (FuncDef name: warn_lines body: (BraceGroup children: [ (While cond: [(C {(read)} {(-r)} {(line)})] body: (DoGroup children: [(C {(warn)} {(DQ (' - ') ($ VSub_Name '$line'))})] spids: [6588 6599] ) ) ] spids: [6576] ) spids: [6571 6575] ) (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: [6615] ) ] spids: [6615] ) (AndOr 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: [6636 6642] ) ) } ) ] op_id: Op_DPipe ) (C {(git)} {(update-ref)} {(ORIG_HEAD)} {($ VSub_Name '$orig_head')}) ] spids: [6612] ) spids: [6607 6611] ) (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: [6666 6674] ) } spids: [6665] ) ] spids: [6665] ) (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: [6678 6682] ) } spids: [6677] ) ] spids: [6677] ) (Pipeline children: [ (C {(printf)} {(SQ <'%s'>)} {(DQ ($ VSub_Name '$check_level'))}) (C {(tr)} {(SQ <A-Z>)} {(SQ <a-z>)}) ] negated: False ) ] spids: [6662] ) spids: [6657 6661] ) (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:[6734])] spids: [6734] ) (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: [6740 6742] ) } spids: [6739] ) ] spids: [6739] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.backup)} spids: [6767] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.oldsha1)} spids: [6773] ) ] ) (SimpleCommand words: [{(todo_list_to_sha_list)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [6782] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.newsha1)} spids: [6787] ) ] ) (SimpleCommand words: [{(sort)} {(-u)} {(DQ ($ VSub_Name '$todo')) (.oldsha1)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.oldsha1) (Lit_Other '+')} spids: [6808] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.newsha1) (Lit_Other '+')} spids: [6839] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.miss)} spids: [6877] ) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo')) (.miss)})] action: [ (AndOr 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: [6916] ) ] spids: [6916] ) ] op_id: Op_DAmp ) (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: [6924 6932] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: { (DQ ( '--no-walk=sorted --format=oneline --abbrev-commit --stdin' ) ) } spids: [6941] ) ] spids: [6941] ) (Pipeline children: [ (SimpleCommand words: [{(git)} {(rev-list)} {($ VSub_Name '$opt')}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.miss)} spids: [6953] ) ] ) (C {(warn_lines)}) ] negated: False ) (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: [6968 6982] ) ) } ) (C {(warn)}) ] spids: [-1 6901] ) ] spids: [-1 6989] ) ] spids: [6755 6758 6992 -1] ) (case_arm pat_list:[{(ignore)}] spids:[699569966999-1]) (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: [7009 7017] ) ) } ) ] spids: [7002 7003 7021 -1] ) ] spids: [6746 6752 7024] ) (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(check_bad_cmd_and_sha)} {(DQ ($ VSub_Name '$todo'))})] negated: True ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:raise_error) op: Equal rhs: {(t)} spids: [7042] ) ] spids: [7042] ) ] spids: [-1 7039] ) ] spids: [-1 7046] ) (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: [7087 7093] ) ) } ) (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: [7100 7106] ) ) } ) ] spids: [-1 7061] ) ] spids: [-1 7110] ) ] spids: [6731] ) spids: [6726 6730] ) (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 children: [ (C {(test)} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR')) (/CHERRY_PICK_HEAD)} ) (AndOr children: [ (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: [7216 7222] ) ) } ) ] op_id: Op_DPipe ) ] op_id: Op_DPipe ) ] spids: [-1 7181] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Pipeline children: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$author_script'))})] negated: True ) ] 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: [7249 7259] ) } ) spids: [7246 7260] ) } spids: [7245] ) ] spids: [7245] ) (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: [7266 7289] ) ) } ) ] spids: [-1 7242] ) ] spids: [-1 7293] ) (AndOr 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: [7308 7314] ) ) } ) ] op_id: Op_DPipe ) (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: [7333 7341] ) } spids: [7332] ) ] spids: [7332] ) (AndOr 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: [7352 7358] ) } ) (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: [7366 7374] ) ) } ) ] op_id: Op_DPipe ) (AndOr 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: [7398 7404] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not commit staged changes.'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [7412 7418] ) ) } ) ] op_id: Op_DPipe ) ] spids: [-1 7329] ) ] else_action: [ (AndOr 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: [7443 7449] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not commit staged changes.'))}) ] ) left_token: <Left_CommandSub '$('> spids: [7457 7463] ) ) } ) ] op_id: Op_DPipe ) ] spids: [7422 7467] ) ] spids: [7226 7470] ) (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: [7492 7499] ) ) } ) ] spids: [-1 7486] ) ] spids: [-1 7503] ) (C {(require_clean_work_tree)} {(DQ (rebase))}) (C {(do_rest)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [7158 7159 7522 -1] ) (case_arm pat_list: [{(skip)}] action: [ (C {(git)} {(rerere)} {(clear)}) (C {(do_rest)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [7524 7525 7544 -1] ) (case_arm pat_list: [{(edit-todo)}] action: [ (SimpleCommand words: [{(git)} {(stripspace)} {(--strip-comments)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [7556] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$todo')) (.new)} spids: [7561] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [7606] ) ] ) ] negated: False ) (AndOr 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: [7625 7631] ) ) } ) ] op_id: Op_DPipe ) (C {(expand_todo_ids)}) (C {(exit)}) ] spids: [7546 7547 7642 -1] ) ] spids: [7150 7156 7644] ) (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: [7667] ) ] spids: [7667] ) (AndOr 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: [7693 7701] ) ) } ) ] op_id: Op_DPipe ) (C {(comment_for_reflog)} {(start)}) ] spids: [-1 7664] ) ] spids: [-1 7710] ) (AndOr 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: [7714 7722] ) } spids: [7713] ) ] spids: [7713] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(gettext)} {(DQ ('No HEAD?'))})]) left_token: <Left_CommandSub '$('> spids: [7729 7735] ) ) } ) ] op_id: Op_DPipe ) (AndOr 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: [7751 7759] ) ) } ) ] op_id: Op_DPipe ) (AndOr children: [ (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/interactive)} spids: [7765] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Could not mark as interactive'))})] ) left_token: <Left_CommandSub '$('> spids: [7777 7783] ) ) } ) ] op_id: Op_DPipe ) (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 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: [7832 7842] ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (SimpleCommand words: [{(echo)} {($ VSub_Name '$onto')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$c') } spids: [7852] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'Could not init rewritten commits' ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [7866 7872] ) ) } ) ] op_id: Op_DPipe ) ] spids: [7845 7876] ) spids: [7831 -1] ) ] op_id: Op_DAmp ) ] spids: [-1 7814] ) ] else_action: [ (AndOr children: [ (C {(mkdir)} {(DQ ($ VSub_Name '$rewritten'))}) (AndOr children: [ (SimpleCommand words: [{(echo)} {($ VSub_Name '$onto')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$rewritten')) (/root)} spids: [7895] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('Could not init rewritten commits'))}) ] ) left_token: <Left_CommandSub '$('> spids: [7908 7914] ) ) } ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [7879 7918] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merges_option) op: Equal rhs: {(SQ )} spids: [7933] ) ] spids: [7933] ) ] spids: [-1 7800] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merges_option) op: Equal rhs: {(DQ ('--no-merges --cherry-pick'))} spids: [7938] ) ] spids: [7938] ) ] spids: [7935 7943] ) (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: [7947 7955] ) } spids: [7946] ) ] spids: [7946] ) (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: [7958 7966] ) } spids: [7957] ) ] spids: [7957] ) (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: [7986 7994] ) } spids: [7985] ) ] spids: [7985] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: {($ VSub_Name '$upstream') (...) ($ VSub_Name '$orig_head')} spids: [7997] ) ] spids: [7997] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortrevisions) op: Equal rhs: {($ VSub_Name '$shortupstream') (..) ($ VSub_Name '$shorthead')} spids: [8003] ) ] spids: [8003] ) ] spids: [-1 7982] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: {($ VSub_Name '$onto') (...) ($ VSub_Name '$orig_head')} spids: [8011] ) ] spids: [8011] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:shortrevisions) op: Equal rhs: {($ VSub_Name '$shorthead')} spids: [8017] ) ] spids: [8017] ) ] spids: [8008 8020] ) (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: [8023 8031] ) } spids: [8022] ) ] spids: [8022] ) (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: [8046 8051] ) ) } {(--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: [8066 8071] ) } ) (C {(sed)} {(-n)} {(DQ ('s/^>//p'))}) (While cond: [(C {(read)} {(-r)} {(sha1)} {(rest)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$keep_empty'))}) (AndOr children: [ (C {(is_empty_commit)} {($ VSub_Name '$sha1')}) (Pipeline children: [(C {(is_merge_commit)} {($ VSub_Name '$sha1')})] negated: True ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment_out) op: Equal rhs: {(DQ ($ VSub_Name '$comment_char') (' '))} spids: [8129] ) ] spids: [8129] ) ] spids: [-1 8126] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment_out) op: Equal rhs: {(SQ )} spids: [8139] ) ] spids: [8139] ) ] spids: [8136 8142] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8179] ) ] ) ] spids: [-1 8160] ) ] 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: [8202] ) ] spids: [8202] ) (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: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8212 8235] ) } ] do_arg_iter: False 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: [8257] ) ] spids: [8257] ) ] spids: [-1 8254] ) ] spids: [-1 8261] ) ] spids: [8238 8264] ) spids: [8211 -1] ) ] spids: [-1 8199] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:preserve) op: Equal rhs: {(f)} spids: [8270] ) ] spids: [8270] ) ] spids: [8267 8274] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8318] ) ] ) ] spids: [-1 8290] ) ] spids: [-1 8324] ) ] spids: [8185 8327] ) ] spids: [8097 8329] ) ) ] negated: False ) (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: -1 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/not-cherry-picks)} spids: [8383] ) ] ) ] negated: False ) (Pipeline children: [ (C {(git)} {(rev-list)} {($ VSub_Name '$revisions')}) (While cond: [(C {(read)} {(rev)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (AndOr 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: -1 arg_word: {(/dev/null)} spids: [8446] ) ] ) ] negated: True ) ] op_id: Op_DAmp ) ] 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: -1 arg_word: {(DQ ($ VSub_Name '$dropped')) (/) ($ VSub_Name '$rev') } spids: [8492] ) ] ) ] negated: False ) (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: [8502 8510] ) } spids: [8501] ) ] spids: [8501] ) (Sentence child: (SimpleCommand words: [ {(sane_grep)} {(-v)} {(DQ ('^[a-z][a-z]* ') ($ VSub_Name '$sha1'))} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8522] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name todo) (2))} spids: [8527] ) ] ) terminator: <Op_Semi ';'> ) (C {(mv)} {(DQ (${ VSub_Name todo) (2))} {(DQ ($ VSub_Name '$todo'))} ) (C {(rm)} {(DQ ($ VSub_Name '$rewritten')) (/) ($ VSub_Name '$rev')} ) ] spids: [-1 8450] ) ] spids: [-1 8561] ) ] spids: [8415 8564] ) ) ] negated: False ) ] spids: [-1 8347] ) ] spids: [-1 8566] ) (AndOr children: [ (C {(test)} {(-s)} {(DQ ($ VSub_Name '$todo'))}) (SimpleCommand words: [{(echo)} {(noop)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8583] ) ] ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$autosquash'))}) (C {(rearrange_squash)} {(DQ ($ VSub_Name '$todo'))}) ] op_id: Op_DAmp ) (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$cmd'))}) (C {(add_exec_commands)} {(DQ ($ VSub_Name '$todo'))}) ] op_id: Op_DAmp ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8630] ) ] ) (C {(wc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [8623 8640] ) } spids: [8622] ) ] spids: [8622] ) (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: [8643 8647] ) } spids: [8642] ) ] spids: [8642] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8652] ) (HereDoc op_id: Redir_DLess fd: -1 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: [8663 8695] ) ('\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [8657] ) ] ) (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: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8716] ) ] ) ] negated: False ) (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: [8744 8750] ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name '$todo'))} spids: [8753] ) ] ) ] spids: [-1 8732] ) ] spids: [-1 8758] ) (AndOr children: [ (C {(has_action)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] op_id: Op_DPipe ) (C {(cp)} {(DQ ($ VSub_Name '$todo'))} {(DQ ($ VSub_Name '$todo')) (.backup)}) (C {(collapse_todo_ids)}) (AndOr 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: [8801 8807] ) ) } ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(has_action)} {(DQ ($ VSub_Name '$todo'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] op_id: Op_DPipe ) (C {(check_todo_list)}) (C {(expand_todo_ids)}) (AndOr children: [ (C {(test)} {(-d)} {(DQ ($ VSub_Name '$rewritten'))}) (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$force_rebase'))}) (C {(skip_unnecessary_picks)}) ] op_id: Op_DPipe ) ] op_id: Op_DPipe ) (C {(checkout_onto)}) (C {(do_rest)}) ] spids: [7147] ) spids: [7142 7146] ) (C {(git_rebase__interactive)}) ] )