(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[13])] spids: [13] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTIONS_KEEPDASHDASH) op: Equal rhs: {(EmptyPart)} spids: [16] ) ] spids: [16] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIONS_STUCKLONG) op:Equal rhs:{(t)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTIONS_SPEC) op: Equal rhs: { (DQ ( 'git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] [<branch>]\n' ) ('git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]\n') ('git-rebase --continue | --abort | --skip | --edit-todo\n') ('--\n') (' Available options are\n') ('v,verbose! display a diffstat of what changed upstream\n') ('q,quiet! be quiet. implies --no-stat\n') ('autostash automatically stash/stash pop before and after\n') ("fork-point use 'merge-base --fork-point' to refine upstream\n") ('onto=! rebase onto given branch instead of upstream\n') ('p,preserve-merges! try to recreate merges instead of ignoring them\n') ('s,strategy=! use the given merge strategy\n') ('no-ff! cherry-pick all commits, even if unchanged\n') ('m,merge! use merging strategies to rebase\n') ('i,interactive! let the user edit the list of commits to rebase\n') ('x,exec=! add exec lines after each commit of the editable list\n') ('k,keep-empty\t preserve empty commits during rebase\n') ('f,force-rebase! force rebase even if branch is up to date\n') ('X,strategy-option=! pass the argument through to the merge strategy\n') ('stat! display a diffstat of what changed upstream\n') ('n,no-stat! do not show diffstat of what changed upstream\n') ('verify allow pre-rebase hook to run\n') ('rerere-autoupdate allow rerere to update index with resolved conflicts\n') ('root! rebase all reachable commits up to the root(s)\n') ('autosquash move commits that begin with squash!/fixup! under -i\n') ("committer-date-is-author-date! passed to 'git am'\n") ("ignore-date! passed to 'git am'\n") ("whitespace=! passed to 'git apply'\n") ("ignore-whitespace! passed to 'git apply'\n") ("C=! passed to 'git apply'\n") ('S,gpg-sign? GPG-sign commits\n') (' Actions:\n') ('continue! continue\n') ('abort! abort and check out the original branch\n') ('skip! skip current patch and continue\n') ('edit-todo! edit the todo list during an interactive rebase\n') ) } spids: [21] ) ] spids: [21] ) (C {(.)} {(git-sh-setup)}) (C {(set_reflog_action)} {(rebase)}) (C {(require_work_tree_exists)}) (C {(cd_to_toplevel)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LF) op:Equal rhs:{(SQ <'\n'>)} spids:[75])] spids: [75] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok_to_skip_pre_rebase) op: Equal rhs: {(EmptyPart)} spids: [80] ) ] spids: [80] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:resolvemsg) op: Equal rhs: { (DQ ('\n') (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (SQ < 'When you have resolved this problem, run "git rebase --continue".\n' > <'If you prefer to skip this patch, run "git rebase --skip" instead.\n'> < 'To check out the original branch and stop rebasing, run "git rebase --abort".' > ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [85 93] ) ('\n') ) } spids: [82] ) ] spids: [82] ) (C {(unset)} {(onto)}) (C {(unset)} {(restrict_revision)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cmd) op:Equal rhs:{(EmptyPart)} spids:[105])] spids: [105] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:strategy) op:Equal rhs:{(EmptyPart)} spids:[107])] spids: [107] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:strategy_opts) op:Equal rhs:{(EmptyPart)} spids:[109])] spids: [109] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:do_merge) op:Equal rhs:{(EmptyPart)} spids:[111])] spids: [111] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:merge_dir) op: Equal rhs: {(DQ ($ VSub_Name '$GIT_DIR')) (/rebase-merge)} spids: [113] ) ] spids: [113] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:apply_dir) op: Equal rhs: {(DQ ($ VSub_Name '$GIT_DIR')) (/rebase-apply)} spids: [119] ) ] spids: [119] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(EmptyPart)} spids:[125])] spids: [125] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:diffstat) op:Equal rhs:{(EmptyPart)} spids:[127])] spids: [127] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--bool)} {(rebase.stat)})] ) left_token: <Left_CommandSub '$('> spids: [132 140] ) ) } {(Lit_Other '=')} {(true)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:diffstat) op:Equal rhs:{(t)} spids:[149])] spids: [149] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autostash) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (C {(git)} {(config)} {(--bool)} {(rebase.autostash)}) (C {(echo)} {(false)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [154 168] ) ) } spids: [152] ) ] spids: [152] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fork_point) op:Equal rhs:{(auto)} spids:[171])] spids: [171] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:git_am_opt) op:Equal rhs:{(EmptyPart)} spids:[174])] spids: [174] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rebase_root) op:Equal rhs:{(EmptyPart)} spids:[176])] spids: [176] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:force_rebase) op:Equal rhs:{(EmptyPart)} spids:[178])] spids: [178] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:allow_rerere_autoupdate) op: Equal rhs: {(EmptyPart)} spids: [180] ) ] spids: [180] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:in_progress) op:Equal rhs:{(EmptyPart)} spids:[185])] spids: [185] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(EmptyPart)} spids:[190])] spids: [190] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:state_dir) op:Equal rhs:{(EmptyPart)} spids:[195])] spids: [195] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:action) op:Equal rhs:{(EmptyPart)} spids:[200])] spids: [200] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:preserve_merges) op:Equal rhs:{(EmptyPart)} spids:[202])] spids: [202] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:autosquash) op:Equal rhs:{(EmptyPart)} spids:[204])] spids: [204] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:keep_empty) op:Equal rhs:{(EmptyPart)} spids:[206])] spids: [206] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--bool)} {(rebase.autosquash)})] ) left_token: <Left_CommandSub '$('> spids: [211 219] ) ) } {(Lit_Other '=')} {(DQ (true))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:autosquash) op:Equal rhs:{(t)} spids:[230])] spids: [230] ) ] ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--bool)} {(commit.gpgsign)})] ) left_token: <Left_CommandSub '$('> spids: [236 244] ) ) } arms: [ (case_arm pat_list: [{(true)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:gpg_sign_opt) op:Equal rhs:{(-S)} spids:[252])] spids: [252] ) ] spids: [249 250 255 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt) op: Equal rhs: {(EmptyPart)} spids: [260] ) ] spids: [260] ) ] spids: [257 258 262 16777215] ) ] spids: [233 247 264] ) (FuncDef name: read_basic_state body: (BraceGroup children: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir') (/head-name))}) (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir') (/onto))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head_name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/head-name)})] ) left_token: <Left_CommandSub '$('> spids: [300 307] ) } spids: [299] ) ] spids: [299] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/onto)})] ) left_token: <Left_CommandSub '$('> spids: [313 320] ) } spids: [312] ) ] spids: [312] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/orig-head)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/orig-head)}) ] ) left_token: <Left_CommandSub '$('> spids: [353 360] ) } spids: [352] ) ] spids: [352] ) ] spids: [16777215 349] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/head)})] ) left_token: <Left_CommandSub '$('> spids: [367 374] ) } spids: [366] ) ] spids: [366] ) ] spids: [363 377] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_QUIET) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/quiet)})] ) left_token: <Left_CommandSub '$('> spids: [383 390] ) } spids: [382] ) ] spids: [382] ) (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/verbose)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(t)} spids:[406])] spids: [406] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/strategy)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/strategy)})] ) left_token: <Left_CommandSub '$('> spids: [423 430] ) ) } spids: [421] ) ] spids: [421] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/strategy_opts)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy_opts) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/strategy_opts)}) ] ) left_token: <Left_CommandSub '$('> spids: [448 455] ) ) } spids: [446] ) ] spids: [446] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/allow_rerere_autoupdate)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:allow_rerere_autoupdate) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/allow_rerere_autoupdate)} ) ] ) left_token: <Left_CommandSub '$('> spids: [473 480] ) ) } spids: [471] ) ] spids: [471] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir')) (/gpg_sign_opt)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir')) (/gpg_sign_opt)}) ] ) left_token: <Left_CommandSub '$('> spids: [498 505] ) ) } spids: [496] ) ] spids: [496] ) ] ) ] spids: [272] ) spids: [267 271] ) (FuncDef name: write_basic_state body: (BraceGroup children: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$head_name'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/head-name)} spids: [525] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$onto'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/onto)} spids: [541] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$orig_head'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/orig-head)} spids: [557] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$GIT_QUIET'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/quiet)} spids: [573] ) ] ) (C {(test)} {(t)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$verbose'))}) (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/verbose)} spids: [597] ) ] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$strategy'))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$strategy'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/strategy)} spids: [621] ) ] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$strategy_opts'))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$strategy_opts'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/strategy_opts)} spids: [645] ) ] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$allow_rerere_autoupdate'))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$allow_rerere_autoupdate'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/allow_rerere_autoupdate)} spids: [671] ) ] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gpg_sign_opt'))}) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$gpg_sign_opt'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir')) (/gpg_sign_opt)} spids: [697] ) ] ) ] ) ] spids: [516] ) spids: [511 515] ) (FuncDef name: output body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$verbose'))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [735] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [730 738] ) } spids: [729] ) ] spids: [729] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status) op: Equal rhs: {($ VSub_QMark '$?')} spids: [741] ) ] spids: [741] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_Name '$status')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$output'))}) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$status')} ) ] spids: [16777215 726 774 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(DQ ($ VSub_At '$@'))})] spids: [777 778 786 16777215] ) ] spids: [715 721 789] ) ] spids: [712] ) spids: [707 711] ) (FuncDef name: move_to_original_branch body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$head_name'))} arms: [ (case_arm pat_list: [{(refs/) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:message) op: Equal rhs: { (DQ ('rebase finished: ') ($ VSub_Name '$head_name') (' onto ') ($ VSub_Name '$onto') ) } spids: [816] ) ] spids: [816] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(git)} {(update-ref)} {(-m)} {(DQ ($ VSub_Name '$message'))} {($ VSub_Name '$head_name')} { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [839 845] ) } {($ VSub_Name '$orig_head')} ) (C {(git)} {(symbolic-ref)} {(-m)} {(DQ ('rebase finished: returning to ') ($ VSub_Name '$head_name'))} {(HEAD)} {($ VSub_Name '$head_name')} ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not move back to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (head_name) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [877 885] ) ) } ) ] ) ] spids: [811 813 889 16777215] ) ] spids: [802 808 892] ) ] spids: [799] ) spids: [794 798] ) (FuncDef name: apply_autostash body: (BraceGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$state_dir') (/autostash))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:stash_sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(DQ ($ VSub_Name '$state_dir') (/autostash))}) ] ) left_token: <Left_CommandSub '$('> spids: [921 928] ) } spids: [920] ) ] spids: [920] ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(git)} {(stash)} {(apply)} {($ VSub_Name '$stash_sha1')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [941] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [944] ) ] ) ] action: [ (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(SQ <'Applied autostash.'>)})] ) left_token: <Left_CommandSub '$('> spids: [954 960] ) ) } ) ] spids: [16777215 948] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(git)} {(stash)} {(store)} {(-m)} {(DQ (autostash))} {(-q)} {($ VSub_Name '$stash_sha1')} ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Cannot store ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (stash_sha1) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [989 997] ) ) } ) ] ) (C {(gettext)} { (SQ <'Applying autostash resulted in conflicts.\n'> <'Your changes are safe in the stash.\n'> <'You can run "git stash pop" or "git stash drop" at any time.\n'> ) } ) ] spids: [964 1010] ) ] spids: [16777215 917] ) ] spids: [16777215 1013] ) ] spids: [902] ) spids: [897 901] ) (FuncDef name: finish_rebase body: (BraceGroup children: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(apply_autostash)}) (BraceGroup children: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [(C {(git)} {(gc)} {(--auto)}) (C {(true)})] ) terminator: <Op_Semi ';'> ) ] spids: [1031] ) (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$state_dir'))}) ] ) ] spids: [1023] ) spids: [1018 1022] ) (FuncDef name: run_specific_rebase body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$interactive_rebase'))} {(Lit_Other '=')} {(implied)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_EDITOR) op: Equal rhs: {(Lit_Other ':')} spids: [1086] ) ] spids: [1086] ) (C {(export)} {(GIT_EDITOR)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autosquash) op: Equal rhs: {(EmptyPart)} spids: [1095] ) ] spids: [1095] ) ] spids: [16777215 1083] ) ] spids: [16777215 1098] ) (C {(.)} {(git-rebase--) ($ VSub_Name '$type')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [1107] ) ] spids: [1107] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$ret')} {(-eq)} {(0)})] action: [(C {(finish_rebase)})] spids: [16777215 1122] ) (if_arm cond: [(C {(test)} {($ VSub_Name '$ret')} {(-eq)} {(2)})] action: [ (AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(apply_autostash)}) (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$state_dir'))}) (C {(die)} {(DQ ('Nothing to do'))}) ] ) ] spids: [1128 1142] ) ] spids: [16777215 1168] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$ret')}) ] spids: [1065] ) spids: [1060 1064] ) (FuncDef name: run_pre_rebase_hook body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$ok_to_skip_pre_rebase'))}) (C {(test)} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--git-path)} {(hooks/pre-rebase)}) ] ) left_token: <Left_CommandSub '$('> spids: [1204 1212] ) ) } ) ] ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--git-path)} {(hooks/pre-rebase)}) ] ) left_token: <Left_CommandSub '$('> spids: [1220 1228] ) ) } { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))}) spids: [1231 1237] ) } ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('The pre-rebase hook refused to rebase.'))}) ] ) left_token: <Left_CommandSub '$('> spids: [1245 1251] ) ) } ) ] ) ] spids: [16777215 1216] ) ] spids: [16777215 1255] ) ] spids: [1183] ) spids: [1178 1182] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$apply_dir')) (/applying)}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('It looks like git-am is in progress. Cannot rebase.'))}) ] ) left_token: <Left_CommandSub '$('> spids: [1275 1281] ) ) } ) ] ) (If arms: [ (if_arm cond: [(C {(test)} {(-d)} {(DQ ($ VSub_Name '$apply_dir'))})] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(am)} spids:[1298])] spids: [1298] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir) op: Equal rhs: {(DQ ($ VSub_Name '$apply_dir'))} spids: [1302] ) ] spids: [1302] ) ] spids: [16777215 1295] ) (if_arm cond: [(C {(test)} {(-d)} {(DQ ($ VSub_Name '$merge_dir'))})] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name '$merge_dir')) (/interactive)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:type) op: Equal rhs: {(interactive)} spids: [1335] ) ] spids: [1335] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive_rebase) op: Equal rhs: {(explicit)} spids: [1339] ) ] spids: [1339] ) ] spids: [16777215 1332] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(merge)} spids:[1346])] spids: [1346] ) ] spids: [1343 1350] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir) op: Equal rhs: {(DQ ($ VSub_Name '$merge_dir'))} spids: [1353] ) ] spids: [1353] ) ] spids: [1307 1317] ) ] spids: [16777215 1358] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$type'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:in_progress) op:Equal rhs:{(t)} spids:[1370])] spids: [1370] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:total_argc) op: Equal rhs: {($ VSub_Pound '$#')} spids: [1374] ) ] spids: [1374] ) (While cond: [(C {(test)} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--no-verify)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok_to_skip_pre_rebase) op: Equal rhs: {(yes)} spids: [1404] ) ] spids: [1404] ) ] spids: [1400 1401 1408 16777215] ) (case_arm pat_list: [{(--verify)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok_to_skip_pre_rebase) op: Equal rhs: {(EmptyPart)} spids: [1415] ) ] spids: [1415] ) ] spids: [1411 1412 1418 16777215] ) (case_arm pat_list: [{(--continue)} {(--skip)} {(--abort)} {(--edit-todo)}] action: [ (AndOr ops: [Op_DPipe] children: [(C {(test)} {($ VSub_Name '$total_argc')} {(-eq)} {(2)}) (C {(usage)})] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:action) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{(--)}) spids: [1445 1449] ) } spids: [1444] ) ] spids: [1444] ) ] spids: [1421 1428 1452 16777215] ) (case_arm pat_list: [{(--onto) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('--onto=')}) spids: [1463 1467] ) ) } spids: [1461] ) ] spids: [1461] ) ] spids: [1455 1458 1471 16777215] ) (case_arm pat_list: [{(--exec) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (DQ (${ VSub_Name cmd) ('exec ') (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('--exec=')}) spids: [1486 1490] ) (${ VSub_Name LF) ) } spids: [1480] ) ] spids: [1480] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$interactive_rebase'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive_rebase) op: Equal rhs: {(implied)} spids: [1507] ) ] spids: [1507] ) ] ) ] spids: [1474 1477 1511 16777215] ) (case_arm pat_list: [{(--interactive)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive_rebase) op: Equal rhs: {(explicit)} spids: [1518] ) ] spids: [1518] ) ] spids: [1514 1515 1522 16777215] ) (case_arm pat_list: [{(--keep-empty)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:keep_empty) op: Equal rhs: {(yes)} spids: [1529] ) ] spids: [1529] ) ] spids: [1525 1526 1533 16777215] ) (case_arm pat_list: [{(--preserve-merges)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:preserve_merges) op: Equal rhs: {(t)} spids: [1540] ) ] spids: [1540] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$interactive_rebase'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive_rebase) op: Equal rhs: {(implied)} spids: [1554] ) ] spids: [1554] ) ] ) ] spids: [1536 1537 1558 16777215] ) (case_arm pat_list: [{(--autosquash)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autosquash) op: Equal rhs: {(t)} spids: [1565] ) ] spids: [1565] ) ] spids: [1561 1562 1569 16777215] ) (case_arm pat_list: [{(--no-autosquash)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autosquash) op: Equal rhs: {(EmptyPart)} spids: [1576] ) ] spids: [1576] ) ] spids: [1572 1573 1579 16777215] ) (case_arm pat_list: [{(--fork-point)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fork_point) op: Equal rhs: {(t)} spids: [1586] ) ] spids: [1586] ) ] spids: [1582 1583 1590 16777215] ) (case_arm pat_list: [{(--no-fork-point)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fork_point) op: Equal rhs: {(EmptyPart)} spids: [1597] ) ] spids: [1597] ) ] spids: [1593 1594 1600 16777215] ) (case_arm pat_list: [{(--merge)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:do_merge) op: Equal rhs: {(t)} spids: [1607] ) ] spids: [1607] ) ] spids: [1603 1604 1611 16777215] ) (case_arm pat_list: [{(--strategy-option) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy_opts) op: Equal rhs: { (DQ ($ VSub_Name '$strategy_opts') (' ') (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} { (DQ (--) (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--strategy-option=')} ) spids: [1633 1637] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1624 1639] ) ) } spids: [1620] ) ] spids: [1620] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:do_merge) op: Equal rhs: {(t)} spids: [1643] ) ] spids: [1643] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$strategy'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy) op: Equal rhs: {(recursive)} spids: [1657] ) ] spids: [1657] ) ] ) ] spids: [1614 1617 1661 16777215] ) (case_arm pat_list: [{(--strategy) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:strategy) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('--strategy=')}) spids: [1672 1676] ) ) } spids: [1670] ) ] spids: [1670] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:do_merge) op: Equal rhs: {(t)} spids: [1680] ) ] spids: [1680] ) ] spids: [1664 1667 1684 16777215] ) (case_arm pat_list: [{(--no-stat)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:diffstat) op: Equal rhs: {(EmptyPart)} spids: [1691] ) ] spids: [1691] ) ] spids: [1687 1688 1694 16777215] ) (case_arm pat_list: [{(--stat)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:diffstat) op: Equal rhs: {(t)} spids: [1701] ) ] spids: [1701] ) ] spids: [1697 1698 1705 16777215] ) (case_arm pat_list: [{(--autostash)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autostash) op: Equal rhs: {(true)} spids: [1712] ) ] spids: [1712] ) ] spids: [1708 1709 1716 16777215] ) (case_arm pat_list: [{(--no-autostash)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:autostash) op: Equal rhs: {(false)} spids: [1723] ) ] spids: [1723] ) ] spids: [1719 1720 1727 16777215] ) (case_arm pat_list: [{(--verbose)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verbose) op: Equal rhs: {(t)} spids: [1734] ) ] spids: [1734] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:diffstat) op: Equal rhs: {(t)} spids: [1738] ) ] spids: [1738] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_QUIET) op: Equal rhs: {(EmptyPart)} spids: [1742] ) ] spids: [1742] ) ] spids: [1730 1731 1745 16777215] ) (case_arm pat_list: [{(--quiet)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_QUIET) op: Equal rhs: {(t)} spids: [1752] ) ] spids: [1752] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_am_opt) op: Equal rhs: {(DQ ($ VSub_Name '$git_am_opt') (' -q'))} spids: [1756] ) ] spids: [1756] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verbose) op: Equal rhs: {(EmptyPart)} spids: [1763] ) ] spids: [1763] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:diffstat) op: Equal rhs: {(EmptyPart)} spids: [1766] ) ] spids: [1766] ) ] spids: [1748 1749 1769 16777215] ) (case_arm pat_list: [{(--whitespace) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_am_opt) op: Equal rhs: { (DQ ($ VSub_Name '$git_am_opt') (' --whitespace=') (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('--whitespace=')} ) spids: [1782 1786] ) ) } spids: [1778] ) ] spids: [1778] ) (Case to_match: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('--whitespace=')}) spids: [1793 1797] ) ) } arms: [ (case_arm pat_list: [{(fix)} {(strip)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force_rebase) op: Equal rhs: {(t)} spids: [1809] ) ] spids: [1809] ) ] spids: [1803 1806 1813 16777215] ) ] spids: [1790 1800 1816] ) ] spids: [1772 1775 1819 16777215] ) (case_arm pat_list: [{(--ignore-whitespace)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_am_opt) op: Equal rhs: {(DQ ($ VSub_Name '$git_am_opt') (' ') ($ VSub_Number '$1'))} spids: [1826] ) ] spids: [1826] ) ] spids: [1822 1823 1834 16777215] ) (case_arm pat_list: [{(--committer-date-is-author-date)} {(--ignore-date)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_am_opt) op: Equal rhs: {(DQ ($ VSub_Name '$git_am_opt') (' ') ($ VSub_Number '$1'))} spids: [1843] ) ] spids: [1843] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force_rebase) op: Equal rhs: {(t)} spids: [1851] ) ] spids: [1851] ) ] spids: [1837 1840 1855 16777215] ) (case_arm pat_list: [{(-C) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_am_opt) op: Equal rhs: {(DQ ($ VSub_Name '$git_am_opt') (' ') ($ VSub_Number '$1'))} spids: [1863] ) ] spids: [1863] ) ] spids: [1858 1860 1871 16777215] ) (case_arm pat_list: [{(--root)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rebase_root) op: Equal rhs: {(t)} spids: [1878] ) ] spids: [1878] ) ] spids: [1874 1875 1882 16777215] ) (case_arm pat_list: [{(--force-rebase)} {(--no-ff)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force_rebase) op: Equal rhs: {(t)} spids: [1891] ) ] spids: [1891] ) ] spids: [1885 1888 1895 16777215] ) (case_arm pat_list: [{(--rerere-autoupdate)} {(--no-rerere-autoupdate)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:allow_rerere_autoupdate) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1904] ) ] spids: [1904] ) ] spids: [1898 1901 1910 16777215] ) (case_arm pat_list: [{(--gpg-sign)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt) op: Equal rhs: {(-S)} spids: [1917] ) ] spids: [1917] ) ] spids: [1913 1914 1921 16777215] ) (case_arm pat_list: [{(--gpg-sign) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpg_sign_opt) op: Equal rhs: { (DQ (-S) (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('--gpg-sign=')}) spids: [1933 1937] ) ) } spids: [1930] ) ] spids: [1930] ) ] spids: [1924 1927 1941 16777215] ) (case_arm pat_list: [{(--)}] action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)] spids: [1944 1945 1954 16777215] ) ] spids: [1391 1397 1957] ) (C {(shift)}) ] spids: [1388 1962] ) ) (AndOr ops: [Op_DAmp] children: [(C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(2)}) (C {(usage)})] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$action'))})] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$in_progress'))}) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('No rebase in progress?'))})] ) left_token: <Left_CommandSub '$('> spids: [2003 2009] ) ) } ) ] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$type'))} {(Lit_Other '=')} {(interactive)}) (C {(test)} {(DQ ($ VSub_Name '$GIT_REFLOG_ACTION'))} {(Lit_Other '=')} {(rebase)} ) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_REFLOG_ACTION) op: Equal rhs: {(DQ ('rebase -i (') ($ VSub_Name '$action') (')'))} spids: [2045] ) ] spids: [2045] ) (C {(export)} {(GIT_REFLOG_ACTION)}) ] spids: [16777215 2042] ) ] spids: [16777215 2058] ) ] spids: [16777215 1987] ) ] spids: [16777215 2060] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$action'))} {(Lit_Other '=')} {(DQ (edit-todo))}) (C {(test)} {(DQ ($ VSub_Name '$type'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (interactive))} ) ] ) ] action: [ (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ( 'The --edit-todo action can only be used during interactive rebase.' ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2098 2104] ) ) } ) ] spids: [16777215 2092] ) ] spids: [16777215 2107] ) (Case to_match: {(DQ ($ VSub_Name '$action'))} arms: [ (case_arm pat_list: [{(ControlFlow_Continue continue)}] action: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2134] ) ] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Cannot read HEAD'))})] ) left_token: <Left_CommandSub '$('> spids: [2143 2149] ) ) } ) ] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(git)} {(update-index)} {(--ignore-submodules)} {(--refresh)}) (C {(git)} {(diff-files)} {(--quiet)} {(--ignore-submodules)}) (BraceGroup children: [ (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} { (DQ ('You must edit all merge conflicts and then\n') ('mark them as resolved using git add') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2180 2187] ) ) } ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [2174] ) ] ) (C {(read_basic_state)}) (C {(run_specific_rebase)}) ] spids: [2118 2119 2205 16777215] ) (case_arm pat_list: [{(skip)}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(output)} {(git)} {(reset)} {(--hard)} {(HEAD)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) (C {(read_basic_state)}) (C {(run_specific_rebase)}) ] spids: [2207 2208 2234 16777215] ) (case_arm pat_list: [{(abort)}] action: [ (C {(git)} {(rerere)} {(clear)}) (C {(read_basic_state)}) (Case to_match: {(DQ ($ VSub_Name '$head_name'))} arms: [ (case_arm pat_list: [{(refs/) (Lit_Other '*')}] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(git)} {(symbolic-ref)} {(-m)} {(DQ ('rebase: aborting'))} {(HEAD)} {($ VSub_Name '$head_name')} ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Could not move back to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (head_name) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2284 2292] ) ) } ) ] ) ] spids: [2259 2261 2296 16777215] ) ] spids: [2250 2256 2299] ) (C {(output)} {(git)} {(reset)} {(--hard)} {($ VSub_Name '$orig_head')}) (C {(finish_rebase)}) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [2236 2237 2319 16777215] ) (case_arm pat_list: [{(edit-todo)}] action: [(C {(run_specific_rebase)})] spids: [2321 2322 2328 16777215] ) ] spids: [2110 2116 2330] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$in_progress'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir_base) op: Equal rhs: { (BracedVarSub token: <VSub_Name state_dir> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [2350 2355] ) } spids: [2349] ) ] spids: [2349] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd_live_rebase) op: Equal rhs: {(DQ ('git rebase (--continue | --abort | --skip)'))} spids: [2358] ) ] spids: [2358] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd_clear_stale_rebase) op: Equal rhs: { (DQ ('rm -fr ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$state_dir') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } spids: [2364] ) ] spids: [2364] ) (C {(die)} { (DQ ('\n') (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (SQ < 'It seems that there is already a $state_dir_base directory, and\n' > <'I wonder if you are in the middle of another rebase. If that is the\n'> <'case, please try\n'> <'\t$cmd_live_rebase\n'> <'If that is not the case, please\n'> <'\t$cmd_clear_stale_rebase\n'> < 'and run me again. I am stopping in case you still have something\n' > <'valuable there.'> ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2377 2390] ) ) } ) ] spids: [16777215 2346] ) ] spids: [16777215 2393] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rebase_root'))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name '$onto'))}) ] ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$interactive_rebase'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive_rebase) op: Equal rhs: {(implied)} spids: [2429] ) ] spids: [2429] ) ] ) ] spids: [16777215 2416] ) ] spids: [16777215 2432] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$interactive_rebase'))})] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(interactive)} spids:[2448])] spids: [2448] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir) op: Equal rhs: {(DQ ($ VSub_Name '$merge_dir'))} spids: [2452] ) ] spids: [2452] ) ] spids: [16777215 2445] ) (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$do_merge'))})] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(merge)} spids:[2470])] spids: [2470] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir) op: Equal rhs: {(DQ ($ VSub_Name '$merge_dir'))} spids: [2474] ) ] spids: [2474] ) ] spids: [2457 2467] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:type) op:Equal rhs:{(am)} spids:[2482])] spids: [2482] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state_dir) op: Equal rhs: {(DQ ($ VSub_Name '$apply_dir'))} spids: [2486] ) ] spids: [2486] ) ] spids: [2479 2491] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$rebase_root'))})] action: [ (Case to_match: {(DQ ($ VSub_Pound '$#'))} arms: [ (case_arm pat_list: [{(0)}] action: [ (If arms: [ (if_arm cond: [ (Pipeline children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:upstream_name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(rev-parse)} {(--symbolic-full-name)} {(--verify)} {(-q)} {(Lit_Other '@') (Lit_LBrace '{') (upstream) (Lit_RBrace '}') } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2543] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2525 2545] ) } spids: [2524] ) ] spids: [2524] ) ] negated: T ) ] action: [ (C {(.)} {(git-parse-remote)}) (C {(error_on_missing_default_upstream)} {(DQ (rebase))} {(DQ (rebase))} {(DQ (against))} { (DQ ('git rebase ') (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(SQ <'<branch>'>)})] ) left_token: <Left_CommandSub '$('> spids: [2574 2580] ) ) } ) ] spids: [16777215 2548] ) ] spids: [16777215 2584] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$fork_point'))} {(Lit_Other '=')} {(auto)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fork_point) op: Equal rhs: {(t)} spids: [2600] ) ] spids: [2600] ) ] ) ] spids: [2516 2517 2604 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:upstream_name) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2610] ) ] spids: [2610] ) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name '$upstream_name'))} {(Lit_Other '=')} {(DQ (-))}) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:upstream_name) op: Equal rhs: {(DQ ('@{-1}'))} spids: [2634] ) ] spids: [2634] ) ] spids: [16777215 2631] ) ] spids: [16777215 2640] ) (C {(shift)}) ] spids: [2607 2608 2646 16777215] ) ] spids: [2507 2513 2649] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:upstream) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(peel_committish)} {(DQ (${ VSub_Name upstream_name))})] ) left_token: <Left_CommandSub '$('> spids: [2653 2661] ) } spids: [2652] ) ] spids: [2652] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('invalid upstream ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (upstream_name) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2669 2677] ) ) } ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:upstream_arg) op: Equal rhs: {(DQ ($ VSub_Name '$upstream_name'))} spids: [2681] ) ] spids: [2681] ) ] spids: [16777215 2504] ) ] else_action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$onto'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:empty_tree) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(hash-object)} {(-t)} {(tree)} {(/dev/null)})] ) left_token: <Left_CommandSub '$('> spids: [2704 2714] ) } spids: [2703] ) ] spids: [2703] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git)} {(commit-tree)} {($ VSub_Name '$empty_tree')}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(/dev/null)} spids: [2725] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2718 2727] ) } spids: [2717] ) ] spids: [2717] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:squash_onto) op: Equal rhs: {(DQ ($ VSub_Name '$onto'))} spids: [2730] ) ] spids: [2730] ) ] spids: [16777215 2700] ) ] spids: [16777215 2736] ) (C {(unset)} {(upstream_name)}) (C {(unset)} {(upstream)}) (AndOr ops: [Op_DAmp] children: [(C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(1)}) (C {(usage)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:upstream_arg) op:Equal rhs:{(--root)} spids:[2762])] spids: [2762] ) ] spids: [2686 2765] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto_name) op: Equal rhs: { (BracedVarSub token: <VSub_Name onto> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(DQ ($ VSub_Name '$upstream_name'))} ) spids: [2772 2778] ) } spids: [2771] ) ] spids: [2771] ) (Case to_match: {(DQ ($ VSub_Name '$onto_name'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (...) (Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:left) op: Equal rhs: { (BracedVarSub token: <VSub_Name onto_name> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('...*')}) spids: [2797 2801] ) } spids: [2796] ) (assign_pair lhs: (LhsName name:right) op: Equal rhs: { (BracedVarSub token: <VSub_Name onto_name> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*...')}) spids: [2804 2808] ) } spids: [2803] ) ] spids: [2796] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(merge-base)} {(--all)} { (BracedVarSub token: <VSub_Name left> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(HEAD)} ) spids: [2821 2825] ) } { (BracedVarSub token: <VSub_Name right> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(HEAD)} ) spids: [2827 2831] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2814 2832] ) } spids: [2813] ) ] spids: [2813] ) ] ) ] action: [ (Case to_match: {(DQ ($ VSub_Name '$onto'))} arms: [ (case_arm pat_list: [ {(Lit_Other '?') (Lit_Other '*') (DQ ($ VSub_Name '$LF')) (Lit_Other '?') (Lit_Other '*') } ] action: [ (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('onto_name: there are more than one merge bases') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2860 2867] ) ) } ) ] spids: [2847 2854 2871 16777215] ) (case_arm pat_list: [{(SQ )}] action: [ (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('onto_name: there is no merge base') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2882 2889] ) ) } ) ] spids: [16777215 2876 2893 16777215] ) ] spids: [2838 2844 2896] ) ] spids: [16777215 2835] ) ] else_action: [ (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('onto_name: there is no merge base') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2905 2912] ) ) } ) ] spids: [2899 2916] ) ] spids: [2788 2791 2919 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onto) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(peel_committish)} {(DQ ($ VSub_Name '$onto_name'))})] ) left_token: <Left_CommandSub '$('> spids: [2926 2932] ) } spids: [2925] ) ] spids: [2925] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Does not point to a valid commit: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (onto_name) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2940 2948] ) ) } ) ] ) ] spids: [2921 2922 2952 16777215] ) ] spids: [2780 2786 2954] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:switch_to) op:Equal rhs:{(EmptyPart)} spids:[2969])] spids: [2969] ) (Case to_match: {(DQ ($ VSub_Pound '$#'))} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:branch_name) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2987] ) ] spids: [2987] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:switch_to) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2993] ) ] spids: [2993] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(git)} {(show-ref)} {(--verify)} {(--quiet)} {(--)} {(DQ (refs/heads/) ($ VSub_Number '$1'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(-q)} {(--verify)} {(DQ (refs/heads/) ($ VSub_Number '$1'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3021 3034] ) } spids: [3020] ) ] spids: [3020] ) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head_name) op: Equal rhs: {(DQ (refs/heads/) ($ VSub_Number '$1'))} spids: [3040] ) ] spids: [3040] ) ] spids: [16777215 3037] ) (if_arm cond: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(-q)} {(--verify)} {(DQ ($ VSub_Number '$1'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3050 3062] ) } spids: [3049] ) ] spids: [3049] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head_name) op: Equal rhs: {(DQ ('detached HEAD'))} spids: [3068] ) ] spids: [3068] ) ] spids: [3047 3065] ) ] else_action: [ (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('fatal: no such branch: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (branch_name) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3080 3088] ) ) } ) ] spids: [3074 3092] ) ] spids: [2979 2980 3095 16777215] ) (case_arm pat_list: [{(0)}] action: [ (If arms: [ (if_arm cond: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:branch_name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(symbolic-ref)} {(-q)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [3108 3116] ) } spids: [3107] ) ] spids: [3107] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head_name) op: Equal rhs: {($ VSub_Name '$branch_name')} spids: [3122] ) ] spids: [3122] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:branch_name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Name '$branch_name'))} {(Lit_Other ':')} {(SQ <'zrefs/heads/\\(.*\\)'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [3127 3140] ) } spids: [3126] ) ] spids: [3126] ) ] spids: [16777215 3119] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head_name) op: Equal rhs: {(DQ ('detached HEAD'))} spids: [3146] ) ] spids: [3146] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:branch_name) op: Equal rhs: {(HEAD)} spids: [3152] ) ] spids: [3152] ) terminator: <Op_Semi ';'> ) ] spids: [3143 3160] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig_head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [3164 3172] ) } spids: [3163] ) ] spids: [3163] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [3097 3098 3179 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(die)} {(DQ ('BUG: unexpected number of arguments left to parse'))})] spids: [3181 3182 3192 16777215] ) ] spids: [2971 2977 3194] ) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name '$fork_point'))} {(Lit_Other '=')} {(t)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_upstream) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(merge-base)} {(--fork-point)} {(DQ ($ VSub_Name '$upstream_name'))} { (DQ (BracedVarSub token: <VSub_Name switch_to> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(HEAD)} ) spids: [3227 3231] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3213 3233] ) } spids: [3212] ) ] spids: [3212] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$new_upstream'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:restrict_revision) op: Equal rhs: {($ VSub_Name '$new_upstream')} spids: [3250] ) ] spids: [3250] ) ] spids: [16777215 3247] ) ] spids: [16777215 3254] ) ] spids: [16777215 3209] ) ] spids: [16777215 3256] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$autostash'))} {(Lit_Other '=')} {(true)}) (Pipeline children: [ (Subshell child: (C {(require_clean_work_tree)}) redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3279])] spids: [3275 3277] ) ] negated: T ) ] ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:stash_sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(stash)} {(create)} {(DQ (autostash))})] ) left_token: <Left_CommandSub '$('> spids: [3286 3296] ) } spids: [3285] ) ] spids: [3285] ) (C {(die)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(SQ <'Cannot autostash'>)})] ) left_token: <Left_CommandSub '$('> spids: [3304 3310] ) ) } ) ] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$state_dir'))}) (SimpleCommand words: [{(echo)} {($ VSub_Name '$stash_sha1')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$state_dir') (/autostash))} spids: [3330] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:stash_abbrev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--short)} {($ VSub_Name '$stash_sha1')}) ] ) left_token: <Left_CommandSub '$('> spids: [3340 3348] ) } spids: [3339] ) ] spids: [3339] ) (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(eval_gettext)} {(SQ <'Created autostash: $stash_abbrev'>)})] ) left_token: <Left_CommandSub '$('> spids: [3356 3362] ) ) } ) (C {(git)} {(reset)} {(--hard)}) ] ) ] spids: [16777215 3282] ) ] spids: [16777215 3374] ) (C {(require_clean_work_tree)} {(DQ (rebase))} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(gettext)} {(DQ ('Please commit or stash them.'))})] ) left_token: <Left_CommandSub '$('> spids: [3384 3390] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mb) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(merge-base)} {(DQ ($ VSub_Name '$onto'))} {(DQ ($ VSub_Name '$orig_head'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3411 3423] ) } spids: [3410] ) ] spids: [3410] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$type'))} {(KW_Bang '!') (Lit_Other '=')} {(interactive)}) (C {(test)} {(DQ ($ VSub_Name '$upstream'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$onto'))} ) (C {(test)} {(DQ ($ VSub_Name '$mb'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$onto'))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name '$restrict_revision'))}) (Pipeline children: [ (Subshell child: (Pipeline children: [ (C {(git)} {(rev-list)} {(--parents)} {(DQ ($ VSub_Name '$onto')) (..) (DQ ($ VSub_Name '$orig_head'))} ) (C {(sane_grep)} {(DQ (' .* '))}) ] negated: F ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [3510] ) ] spids: [3486 3508] ) ] negated: T ) ] ) ] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$force_rebase'))})] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$switch_to'))}) (SimpleCommand words: [{(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$switch_to'))} {(--)}] more_env: [ (env_pair name: GIT_REFLOG_ACTION val: { (DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': checkout ') ($ VSub_Name '$switch_to') ) } spids: [3546] ) ] ) ] ) (C {(say)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Current branch ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('branch_name is up to date.') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3571 3579] ) ) } ) (C {(finish_rebase)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 3528] ) ] else_action: [ (C {(say)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Current branch ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('branch_name is up to date, rebase forced.') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3597 3605] ) ) } ) ] spids: [3591 3609] ) ] spids: [16777215 3514] ) ] spids: [16777215 3611] ) (C {(run_pre_rebase_hook)} {(DQ ($ VSub_Name '$upstream_arg'))} {(DQ ($ VSub_At '$@'))}) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$diffstat'))})] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$verbose'))})] action: [ (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Changes from ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('mb to ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('onto:') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3658 3668] ) ) } ) ] spids: [16777215 3652] ) ] spids: [16777215 3672] ) (SimpleCommand words: [ {(git)} {(diff)} {(--stat)} {(--summary)} {(DQ ($ VSub_Name '$mb'))} {(DQ ($ VSub_Name '$onto'))} ] more_env: [(env_pair name:GIT_PAGER val:{(SQ )} spids:[3679])] ) ] spids: [16777215 3638] ) ] spids: [16777215 3699] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$type'))} {(Lit_Other '=')} {(interactive)}) (C {(run_specific_rebase)}) ] ) (C {(say)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(gettext)} {(DQ ('First, rewinding head to replay your work on top of it...'))}) ] ) left_token: <Left_CommandSub '$('> spids: [3723 3729] ) ) } ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$onto') ('^0'))}] more_env: [ (env_pair name: GIT_REFLOG_ACTION val: {(DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': checkout ') ($ VSub_Name '$onto_name'))} spids: [3733] ) ] ) (C {(die)} {(DQ ('could not detach HEAD'))}) ] ) (C {(git)} {(update-ref)} {(ORIG_HEAD)} {($ VSub_Name '$orig_head')}) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name '$mb'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$orig_head'))}) ] action: [ (C {(say)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval_gettext)} { (DQ ('Fast-forwarded ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('branch_name to ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (onto_name.) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [3796 3806] ) ) } ) (C {(move_to_original_branch)}) (C {(finish_rebase)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 3790] ) ] spids: [16777215 3820] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$rebase_root'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: {(DQ ($ VSub_Name '$onto') (..) ($ VSub_Name '$orig_head'))} spids: [3836] ) ] spids: [3836] ) ] spids: [16777215 3833] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:revisions) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name restrict_revision> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{($ VSub_Name '$upstream')}) spids: [3848 3852] ) (..) ($ VSub_Name '$orig_head') ) } spids: [3846] ) ] spids: [3846] ) ] spids: [3843 3857] ) (C {(run_specific_rebase)}) ] )