(CommandList children: [ (Case to_match: {(DQ ($ VSub_Number "$0"))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (-revert) (Lit_Other "*")}] action: [ (AndOr children: [ (C {(test)} {(-t)} {(0)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit) op:Equal rhs:{(-e)} spids:[39])] spids: [39] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replay) op:Equal rhs:{(SQ )} 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 -1] ) (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:{(SQ )} 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 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [{(echo)} {(DQ ("What are you talking about?"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[89])] ) (C {(exit)} {(1)}) ] spids: [82 84 101 -1] ) ] 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:{(SQ )} spids:[122])] spids: [122] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:xopt) op:Equal rhs:{(SQ )} spids:[124])] spids: [124] ) (While cond: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [136 137 141 -1] ) ] 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 -1] ) (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 -1] ) (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:{(SQ )} spids:[223])] spids: [223] ) ] spids: [207 220 226 -1] ) (case_arm pat_list: [{(-r)}] action: [(C {(Lit_Other ":")} {(no-op)})] spids: [229 230 237 -1] ) (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: {(SQ )} spids: [246] ) ] spids: [246] ) ] spids: [240 243 249 -1] ) (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 -1] ) (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 -1] ) (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 -1] ) (case_arm pat_list: [{(-) (Lit_Other "*")}] action: [(C {(usage)})] spids: [344 346 352 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [355 356 362 -1] ) ] spids: [148 154 365] ) (C {(shift)}) ] spids: [145 370] ) ) (C {(set_reflog_action)} {(DQ ($ VSub_Name "$me"))}) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$me") (",") ($ VSub_Name "$replay"))} {(Lit_Other "=")} {(DQ ("revert,t"))} ) (C {(usage)}) ] op_id: Op_DAmp ) (Case to_match: {(DQ ($ VSub_Name "$no_commit"))} arms: [ (case_arm pat_list: [{(t)}] action: [ (AndOr 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."))}) ] op_id: Op_DPipe ) ] spids: [407 408 434 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (AndOr 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"))}) ] op_id: Op_DPipe ) (AndOr 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] ) (C {(exit)}) ] op_id: Op_DPipe ) (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: [-1 486] ) ] spids: [-1 500] ) ] spids: [436 437 503 -1] ) ] spids: [399 405 505] ) (AndOr 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] ) (AndOr children: [ (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 "$@"))}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (AndOr 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_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [554] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [544 556] ) } spids: [543] ) ] spids: [543] ) (C {(die)} {(DQ ("Cannot run ") ($ VSub_Name "$me") (" a root commit"))}) ] op_id: Op_DPipe ) (AndOr children: [ (SimpleCommand words: [{(git-rev-parse)} {(--verify)} {(DQ ($ VSub_Name "$commit") ("^2"))}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[578]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[581]) ] ) (C {(die)} {(DQ ("Cannot run ") ($ VSub_Name "$me") (" a multi-parent commit."))}) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:encoding) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [(C {(git)} {(config)} {(i18n.commitencoding)}) (C {(echo)} {(UTF-8)})] op_id: Op_DPipe ) ] ) 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: False ) (C {(echo)}) (C {(echo)} {(DQ ("This reverts commit ") ($ VSub_Name "$commit") (.))}) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$rev"))} {(Lit_Other "=")} {(DQ ($ VSub_Name "$commit"))}) (C {(echo)} {(DQ ("(original 'git revert' arguments: ") ($ VSub_At "$@") (")"))}) ] op_id: Op_DPipe ) (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 -1] ) (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: False ) ] ) 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: False ) (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 children: [ (C {(test)} {(DQ ($ VSub_Name "$rev"))} {(Lit_Other "=")} {(DQ ($ VSub_Name "$commit"))} ) (C {(echo)} {(DQ ("(original 'git cherry-pick' arguments: ") ($ VSub_At "$@") (")"))} ) ] op_id: Op_DPipe ) ] spids: [-1 931 967 -1] ) ] 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 -1] ) ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(.msg)} spids:[985])] 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 children: [ (C {(eval)} { (DQ ("git merge-recursive ") ($ VSub_Name "$xopt") (" ") ($ VSub_Name "$base") (" -- ") ($ VSub_Name "$head") (" ") ($ VSub_Name "$next") ) } ) (AndOr children: [ (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_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1048] ) ] ) ] ) 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: False ) ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))} spids: [1105] ) ] spids: [1069] ) (SimpleCommand words: [ {(echo)} { (DQ ("Automatic ") ($ VSub_Name "$me") (" failed. After resolving the conflicts,") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1114])] ) (SimpleCommand words: [{(echo)} {(DQ ("mark the corrected paths with 'git-add <paths>'"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1126])] ) (SimpleCommand words: [{(echo)} {(DQ ("and commit the result."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1136])] ) (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_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1159])] ) (SimpleCommand words: [{(echo)} {(DQ ("the commit:"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1169])] ) (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$set_author_env"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1179])] ) ] spids: [1153 1154 -1 1187] ) ] spids: [1144 1150 1187] ) (C {(exit)} {(1)}) ] spids: [1054] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (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: [-1 1223 1244 -1] ) ] spids: [1213 1219 1246] ) ] )