(List (Case to_match={[DQ [VarSub 0]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS -revert] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"] [LIT_CHARS -cherry-pick] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -t]} {[LIT_CHARS 0]}) (= scope= flags=0 words=[] bindings=[('edit', {[LIT_CHARS -e]})]) ) (= scope= flags=0 words=[] bindings=[('replay', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('me', {[LIT_CHARS revert]})]) (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ">]})]) ) (List (= scope= flags=0 words=[] bindings=[('replay', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('edit', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('me', {[LIT_CHARS cherry-pick]})]) (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ">]})]) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "What are you talking about?"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('SUBDIRECTORY_OK', {[LIT_CHARS Yes]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-setup]}) (Com {[LIT_CHARS require_work_tree]}) (Com {[LIT_CHARS cd_to_toplevel]}) (= scope= flags=0 words=[] bindings=[('no_commit', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('xopt', {[SQ ]})]) (While (Case to_match={[DQ [VarSub #]]}, pat_word_list=[[{[LIT_CHARS 0]}]] (Com {[LIT_CHARS break]}) ) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS -n]}, {[LIT_CHARS --n]}, {[LIT_CHARS --no]}, {[LIT_CHARS --no-]}, {[LIT_CHARS --no-c]}, {[LIT_CHARS --no-co]}, {[LIT_CHARS --no-com]}, {[LIT_CHARS --no-comm]}, {[LIT_CHARS --no-commi]}, {[LIT_CHARS --no-commit]}], [{[LIT_CHARS -e]}, {[LIT_CHARS --e]}, {[LIT_CHARS --ed]}, {[LIT_CHARS --edi]}, {[LIT_CHARS --edit]}], [{[LIT_CHARS --n]}, {[LIT_CHARS --no]}, {[LIT_CHARS --no-]}, {[LIT_CHARS --no-e]}, {[LIT_CHARS --no-ed]}, {[LIT_CHARS --no-edi]}, {[LIT_CHARS --no-edit]}], [{[LIT_CHARS -r]}], [{[LIT_CHARS -x]}, {[LIT_CHARS --i-really-want-to-expose-my-private-commit-object-name]}], [{[LIT_CHARS -X] [LIT_OTHER "?"] [LIT_OTHER "*"]}], [{[LIT_CHARS --strategy-option] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -X]}, {[LIT_CHARS --strategy-option]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('no_commit', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('edit', {[LIT_CHARS -e]})]) (= scope= flags=0 words=[] bindings=[('edit', {[SQ ]})]) (Com {[LIT_OTHER ":"]} {[LIT_CHARS no-op]}) (= scope= flags=0 words=[] bindings=[('replay', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('xopt', {[DQ [VarSub xopt][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [LIT_CHARS --][VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS -X]}]]]})]]})]) (= scope= flags=0 words=[] bindings=[('xopt', {[DQ [VarSub xopt][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [LIT_CHARS --][VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "--strategy-option="]}]]]})]]})]) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('xopt', {[DQ [VarSub xopt][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [LIT_CHARS --][VarSub 1]]})]]})]) ) (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS set_reflog_action]} {[DQ [VarSub me]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub me][LIT_CHARS ","][VarSub replay]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS "revert,t"]]}) (Com {[LIT_CHARS usage]}) ) (Case to_match={[DQ [VarSub no_commit]]}, pat_word_list=[[{[LIT_CHARS t]}], [{[LIT_OTHER "*"]}]] (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('head', {[ComSub (Com {[LIT_CHARS git-write-tree]})]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Your index file is unmerged."]]}) ) (List (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('head', {[ComSub (Com {[LIT_CHARS git-rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "You do not have a valid HEAD"]]}) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('files', {[ComSub (Com {[LIT_CHARS git-diff-index]} {[LIT_CHARS --cached]} {[LIT_CHARS --name-only]} {[VarSub head]})]})]) (Com {[LIT_CHARS exit]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub files]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Dirty index: cannot "][VarSub me][LIT_CHARS " (dirty: "][VarSub files][LIT_CHARS ")"]]}) ) ) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('rev', {[ComSub (Com {[LIT_CHARS git-rev-parse]} {[LIT_CHARS --verify]} {[DQ [VarSub @]]})]})]) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('commit', {[ComSub (Com {[LIT_CHARS git-rev-parse]} {[LIT_CHARS --verify]} {[DQ [VarSub rev][LIT_CHARS "^0"]]})]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Not a single commit "][VarSub @]]}) ) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('prev', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git-rev-parse]} {[LIT_CHARS --verify]} {[DQ [VarSub commit][LIT_CHARS "^1"]]})]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Cannot run "][VarSub me][LIT_CHARS " a root commit"]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git-rev-parse]} {[LIT_CHARS --verify]} {[DQ [VarSub commit][LIT_CHARS "^2"]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Cannot run "][VarSub me][LIT_CHARS " a multi-parent commit."]]}) ) (= scope= flags=0 words=[] bindings=[('encoding', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS i18n.commitencoding]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS UTF-8]}) )]})]) (Case to_match={[DQ [VarSub me]]}, pat_word_list=[[{[LIT_CHARS revert]}], [{[LIT_CHARS cherry-pick]}]] (List (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS show]} {[LIT_CHARS -s]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS oneline]} {[LIT_CHARS --encoding] [LIT_OTHER "="] [DQ [VarSub encoding]]} {[VarSub commit]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) ) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "This reverts commit "][VarSub commit][LIT_CHARS .]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub rev]]} {[LIT_OTHER "="]} {[DQ [VarSub commit]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "(original 'git revert' arguments: "][VarSub @][LIT_CHARS ")"]]}) ) (= scope= flags=0 words=[] bindings=[('base', {[VarSub commit]}), ('next', {[VarSub prev]})]) ) (List (= scope= flags=0 words=[] bindings=[('pick_author_script', {[SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]*> .*$/\\1/\n"> ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]*\\)> .*$/\\1/\n"> ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]*> \\(.*\\)$/\\1/\n"> ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]})]) (= scope= flags=0 words=[] bindings=[('logmsg', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS show]} {[LIT_CHARS -s]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS raw]} {[LIT_CHARS --encoding] [LIT_OTHER "="] [DQ [VarSub encoding]]} {[DQ [VarSub commit]]})]})]) (= scope= flags=0 words=[] bindings=[('set_author_env', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub logmsg]]}) (Com more_env=[('LANG', {[LIT_CHARS C]}), ('LC_ALL', {[LIT_CHARS C]})] {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[DQ [VarSub pick_author_script]]}) )]})]) (Com {[LIT_CHARS eval]} {[DQ [VarSub set_author_env]]}) (= scope= flags=1 words=[{[LIT_CHARS GIT_AUTHOR_NAME]}] bindings=[]) (= scope= flags=1 words=[{[LIT_CHARS GIT_AUTHOR_EMAIL]}] bindings=[]) (= scope= flags=1 words=[{[LIT_CHARS GIT_AUTHOR_DATE]}] bindings=[]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub logmsg]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) ) (Case to_match={[DQ [VarSub replay]]}, pat_word_list=[[{[SQ ]}]] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "(cherry picked from commit "][VarSub commit][LIT_CHARS ")"]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub rev]]} {[LIT_OTHER "="]} {[DQ [VarSub commit]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "(original 'git cherry-pick' arguments: "][VarSub @][LIT_CHARS ")"]]}) ) ) ) (= scope= flags=0 words=[] bindings=[('base', {[VarSub prev]}), ('next', {[VarSub commit]})]) ) ) (Com {[LIT_CHARS eval]} {[LIT_CHARS GITHEAD_] [VarSub head] [LIT_OTHER "="] [LIT_CHARS HEAD]}) (Com {[LIT_CHARS eval]} {[LIT_CHARS GITHEAD_] [VarSub next] [LIT_OTHER "="] [SQ ]}) (= scope= flags=1 words=[{[LIT_CHARS GITHEAD_] [VarSub head]}, {[LIT_CHARS GITHEAD_] [VarSub next]}] bindings=[]) (AndOr OP_AND_IF (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "git merge-recursive "][VarSub xopt][LIT_CHARS " "][VarSub base][LIT_CHARS " -- "][VarSub head][LIT_CHARS " "][VarSub next]]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('result', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git-write-tree]})]})]) (List (Com {[LIT_CHARS mv]} {[LIT_CHARS -f]} {[LIT_CHARS .msg]} {[DQ [VarSub GIT_DIR][LIT_CHARS /MERGE_MSG]]}) (List redirects=[(FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /MERGE_MSG]]} >"> 1)] (Com {[LIT_CHARS echo]} {[SQ ]}) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --unmerged]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) (Com {[LIT_CHARS uniq]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Automatic "][VarSub me][LIT_CHARS " failed. After resolving the conflicts,"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "mark the corrected paths with 'git-add '"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "and commit the result."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Case to_match={[DQ [VarSub me]]}, pat_word_list=[[{[LIT_CHARS cherry-pick]}]] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You may choose to use the following when making"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "the commit:"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub set_author_env]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (Case to_match={[DQ [VarSub no_commit]]}, pat_word_list=[[{[SQ ]}]] (List (Com {[LIT_CHARS git-commit]} {[LIT_CHARS -n]} {[LIT_CHARS -F]} {[LIT_CHARS .msg]} {[VarSub edit]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .msg]}) ) ) )