(CommandList children: [ (Case to_match: {(DQ ($ VSub_Number '$0'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (-revert) (Lit_Other '*')}] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-t)} {(0)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(-e)} spids:[39])] spids: [39] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replay) op:Equal rhs:{(EmptyPart)} spids:[43])] spids: [43] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:me) op:Equal rhs:{(revert)} spids:[46])] spids: [46] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: {(SQ <'[--edit | --no-edit] [-n] <commit-ish>'>)} spids: [50] ) ] spids: [50] ) ] spids: [24 28 55 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (-cherry-pick) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replay) op:Equal rhs:{(t)} spids:[64])] spids: [64] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(EmptyPart)} spids:[68])] spids: [68] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:me) op:Equal rhs:{(cherry-pick)} spids:[71])] spids: [71] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: {(SQ <'[--edit] [-n] [-r] [-x] <commit-ish>'>)} spids: [75] ) ] spids: [75] ) ] spids: [57 61 80 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(echo)} {(DQ ('What are you talking about?'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [82 84 101 16777215] ) ] spids: [16 22 103] ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[106])] spids: [106] ) terminator: <Op_Semi ';'> ) (C {(.)} {(git-sh-setup)}) (C {(require_work_tree)}) (C {(cd_to_toplevel)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_commit) op:Equal rhs:{(EmptyPart)} spids:[122])] spids: [122] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:xopt) op:Equal rhs:{(EmptyPart)} spids:[124])] spids: [124] ) (WhileUntil keyword: <KW_While while> cond: [ (Case to_match: {(DQ ($ VSub_Pound '$#'))} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [136 137 141 16777215] ) ] spids: [128 134 143] ) ] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [ {(-n)} {(--n)} {(--no)} {(--no-)} {(--no-c)} {(--no-co)} {(--no-com)} {(--no-comm)} {(--no-commi)} {(--no-commit)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_commit) op: Equal rhs: {(t)} spids: [181] ) ] spids: [181] ) ] spids: [157 178 185 16777215] ) (case_arm pat_list: [{(-e)} {(--e)} {(--ed)} {(--edi)} {(--edit)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(-e)} spids:[200])] spids: [200] ) ] spids: [188 197 204 16777215] ) (case_arm pat_list: [{(--n)} {(--no)} {(--no-)} {(--no-e)} {(--no-ed)} {(--no-edi)} {(--no-edit)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:edit) op: Equal rhs: {(EmptyPart)} spids: [223] ) ] spids: [223] ) ] spids: [207 220 226 16777215] ) (case_arm pat_list: [{(-r)}] action: [(C {(Lit_Other ':')} {(no-op)})] spids: [229 230 237 16777215] ) (case_arm pat_list: [{(-x)} {(--i-really-want-to-expose-my-private-commit-object-name)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replay) op: Equal rhs: {(EmptyPart)} spids: [246] ) ] spids: [246] ) ] spids: [240 243 249 16777215] ) (case_arm pat_list: [{(-X) (Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:xopt) op: Equal rhs: { (DQ ($ VSub_Name '$xopt') (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: {(-X)} ) spids: [270 274] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [261 276] ) ) } spids: [258] ) ] spids: [258] ) ] spids: [252 255 280 16777215] ) (case_arm pat_list: [{(--strategy-option) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:xopt) op: Equal rhs: { (DQ ($ VSub_Name '$xopt') (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: [301 305] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [292 307] ) ) } spids: [289] ) ] spids: [289] ) ] spids: [283 286 311 16777215] ) (case_arm pat_list: [{(-X)} {(--strategy-option)}] action: [ (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:xopt) op: Equal rhs: { (DQ ($ VSub_Name '$xopt') (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(rev-parse)} {(--sq-quote)} {(DQ (--) ($ VSub_Number '$1'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [326 337] ) ) } spids: [323] ) ] spids: [323] ) ] spids: [314 317 341 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] action: [(C {(usage)})] spids: [344 346 352 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [355 356 362 16777215] ) ] spids: [148 154 365] ) (C {(shift)}) ] spids: [145 370] ) ) (C {(set_reflog_action)} {(DQ ($ VSub_Name '$me'))}) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$me') (',') ($ VSub_Name '$replay'))} {(Lit_Other '=')} {(DQ ('revert,t'))} ) (C {(usage)}) ] ) (Case to_match: {(DQ ($ VSub_Name '$no_commit'))} arms: [ (case_arm pat_list: [{(t)}] action: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(git-write-tree)})]) left_token: <Left_CommandSub '$('> spids: [420 422] ) } spids: [419] ) ] spids: [419] ) (C {(die)} {(DQ ('Your index file is unmerged.'))}) ] ) ] spids: [407 408 434 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [441 447] ) } spids: [440] ) ] spids: [440] ) (C {(die)} {(DQ ('You do not have a valid HEAD'))}) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git-diff-index)} {(--cached)} {(--name-only)} {($ VSub_Name '$head')} ) ] ) left_token: <Left_CommandSub '$('> spids: [460 468] ) } spids: [459] ) ] spids: [459] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$files'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(die)} { (DQ ('Dirty index: cannot ') ($ VSub_Name '$me') (' (dirty: ') ($ VSub_Name '$files') (')') ) } ) ] spids: [16777215 486] ) ] spids: [16777215 500] ) ] spids: [436 437 503 16777215] ) ] spids: [399 405 505] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-rev-parse)} {(--verify)} {(DQ ($ VSub_At '$@'))})] ) left_token: <Left_CommandSub '$('> spids: [509 517] ) } spids: [508] ) ] spids: [508] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commit) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name '$rev') ('^0'))})] ) left_token: <Left_CommandSub '$('> spids: [522 531] ) } spids: [521] ) ] spids: [521] ) (C {(die)} {(DQ ('Not a single commit ') ($ VSub_At '$@'))}) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name '$commit') ('^1'))}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_CommandSub '$('> spids: [544 556] ) } spids: [543] ) ] spids: [543] ) (C {(die)} {(DQ ('Cannot run ') ($ VSub_Name '$me') (' a root commit'))}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name '$commit') ('^2'))}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (C {(die)} {(DQ ('Cannot run ') ($ VSub_Name '$me') (' a multi-parent commit.'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:encoding) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [(C {(git)} {(config)} {(i18n.commitencoding)}) (C {(echo)} {(UTF-8)})] ) ] ) left_token: <Left_CommandSub '$('> spids: [597 609] ) } spids: [596] ) ] spids: [596] ) (Case to_match: {(DQ ($ VSub_Name '$me'))} arms: [ (case_arm pat_list: [{(revert)}] action: [ (Pipeline children: [ (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other '=') (oneline)} {(--encoding) (Lit_Other '=') (DQ ($ VSub_Name '$encoding'))} {($ VSub_Name '$commit')} ) (C {(sed)} {(-e)} {(SQ <'\n'> <'\t\ts/^[^ ]* /Revert "/\n'> <'\t\ts/$/"/\n'> <'\t'>)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(DQ ('This reverts commit ') ($ VSub_Name '$commit') (.))}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$rev'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$commit'))}) (C {(echo)} {(DQ ("(original 'git revert' arguments: ") ($ VSub_At '$@') (')'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: {($ VSub_Name '$commit')} spids: [706] ) (assign_pair lhs: (LhsName name:next) op: Equal rhs: {($ VSub_Name '$prev')} spids: [709] ) ] spids: [706] ) ] spids: [633 634 713 16777215] ) (case_arm pat_list: [{(cherry-pick)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pick_author_script) op: Equal rhs: {(SQ <'\n'> <'\t/^author /{\n'> <'\t\ts/'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/g\n'> <'\t\th\n'> <'\t\ts/^author \\([^<]*\\) <[^>]*> .*$/\\1/\n'> <'\t\ts/'> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/g\n'> <'\t\ts/.*/GIT_AUTHOR_NAME='>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'&'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/p\n'> <'\n'> <'\t\tg\n'> <'\t\ts/^author [^<]* <\\([^>]*\\)> .*$/\\1/\n'> <'\t\ts/'> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/g\n'> <'\t\ts/.*/GIT_AUTHOR_EMAIL='>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'&'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/p\n'> <'\n'> <'\t\tg\n'> <'\t\ts/^author [^<]* <[^>]*> \\(.*\\)$/\\1/\n'> <'\t\ts/'> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ </>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/g\n'> <'\t\ts/.*/GIT_AUTHOR_DATE='>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'&'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'/p\n'> <'\n'> <'\t\tq\n'> <'\t}'>) } spids: [720] ) ] spids: [720] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:logmsg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other '=') (raw)} {(--encoding) (Lit_Other '=') (DQ ($ VSub_Name '$encoding'))} {(DQ ($ VSub_Name '$commit'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [823 843] ) } spids: [822] ) ] spids: [822] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:set_author_env) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$logmsg'))}) (SimpleCommand words: [{(sed)} {(-ne)} {(DQ ($ VSub_Name '$pick_author_script'))}] more_env: [ (env_pair name: LANG val: {(C)} spids: [857] ) (env_pair name: LC_ALL val: {(C)} spids: [860] ) ] ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [847 870] ) } spids: [846] ) ] spids: [846] ) (C {(eval)} {(DQ ($ VSub_Name '$set_author_env'))}) (C {(export)} {(GIT_AUTHOR_NAME)}) (C {(export)} {(GIT_AUTHOR_EMAIL)}) (C {(export)} {(GIT_AUTHOR_DATE)}) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$logmsg'))}) (C {(sed)} {(-e)} {(SQ <'1,/^$/d'>)} {(-e)} {(SQ <'s/^ //'>)}) ] negated: F ) (Case to_match: {(DQ ($ VSub_Name '$replay'))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (C {(echo)} {(DQ ('(cherry picked from commit ') ($ VSub_Name '$commit') (')'))}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$rev'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$commit'))} ) (C {(echo)} {(DQ ("(original 'git cherry-pick' arguments: ") ($ VSub_At '$@') (')'))} ) ] ) ] spids: [929 931 967 16777215] ) ] spids: [920 926 970] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: {($ VSub_Name '$prev')} spids: [973] ) (assign_pair lhs: (LhsName name:next) op: Equal rhs: {($ VSub_Name '$commit')} spids: [976] ) ] spids: [973] ) ] spids: [716 717 980 16777215] ) ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(.msg)})] spids: [625 631 983] ) (C {(eval)} {(GITHEAD_) ($ VSub_Name '$head') (Lit_Other '=') (HEAD)}) (C {(eval)} {(GITHEAD_) ($ VSub_Name '$next') (Lit_Other '=') (SQ <'$(git show -s \\\n'> <'\t--pretty=oneline --encoding="$encoding" "$commit" |\n'> <'\tsed -e "s/^[^ ]* //")'> ) } ) (C {(export)} {(GITHEAD_) ($ VSub_Name '$head')} {(GITHEAD_) ($ VSub_Name '$next')}) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(eval)} { (DQ ('git merge-recursive ') ($ VSub_Name '$xopt') (' ') ($ VSub_Name '$base') (' -- ') ($ VSub_Name '$head') (' ') ($ VSub_Name '$next') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git-write-tree)}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_CommandSub '$('> spids: [1045 1050] ) } spids: [1044] ) ] spids: [1044] ) (BraceGroup children: [ (C {(mv)} {(-f)} {(.msg)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_MSG))}) (BraceGroup children: [ (C {(echo)} {(SQ <'\n'> <'Conflicts:\n'>)}) (Pipeline children: [ (C {(git)} {(ls-files)} {(--unmerged)}) (C {(sed)} {(-e)} {(SQ <'s/^[^\t]*\t/\t/'>)}) (C {(uniq)}) ] negated: F ) ] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_MSG))} ) ] spids: [1069] ) (SimpleCommand words: [ {(echo)} { (DQ ('Automatic ') ($ VSub_Name '$me') (' failed. After resolving the conflicts,')) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ("mark the corrected paths with 'git-add <paths>'"))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('and commit the result.'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (Case to_match: {(DQ ($ VSub_Name '$me'))} arms: [ (case_arm pat_list: [{(cherry-pick)}] action: [ (SimpleCommand words: [{(echo)} {(DQ ('You may choose to use the following when making'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('the commit:'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$set_author_env'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] spids: [1153 1154 16777215 1187] ) ] spids: [1144 1150 1187] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1054] ) ] ) (Case to_match: {(DQ ($ VSub_Name '$no_commit'))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (C {(git-commit)} {(-n)} {(-F)} {(.msg)} {($ VSub_Name '$edit')}) (C {(rm)} {(-f)} {(.msg)}) ] spids: [1221 1223 1244 16777215] ) ] spids: [1213 1219 1246] ) ] )