(List (= scope= flags=0 words=[] bindings=[('SUBDIRECTORY_OK', {[LIT_CHARS Yes]})]) (= scope= flags=0 words=[] bindings=[('OPTIONS_KEEPDASHDASH', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('OPTIONS_STUCKLONG', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('OPTIONS_SPEC', {[DQ [LIT_CHARS "git am [options] [(|)...]\n"][LIT_CHARS "git am [options] (--continue | --skip | --abort)\n"][LIT_CHARS "--\n"][LIT_CHARS "i,interactive run interactively\n"][LIT_CHARS "b,binary* (historical option -- no-op)\n"][LIT_CHARS "3,3way allow fall back on 3way merging if needed\n"][LIT_CHARS "q,quiet be quiet\n"][LIT_CHARS "s,signoff add a Signed-off-by line to the commit message\n"][LIT_CHARS "u,utf8 recode into utf8 (default)\n"][LIT_CHARS "k,keep pass -k flag to git-mailinfo\n"][LIT_CHARS "keep-non-patch pass -b flag to git-mailinfo\n"][LIT_CHARS "m,message-id pass -m flag to git-mailinfo\n"][LIT_CHARS "keep-cr pass --keep-cr flag to git-mailsplit for mbox format\n"][LIT_CHARS "no-keep-cr do not pass --keep-cr flag to git-mailsplit independent of am.keepcr\n"][LIT_CHARS "c,scissors strip everything before a scissors line\n"][LIT_CHARS "whitespace= pass it through git-apply\n"][LIT_CHARS "ignore-space-change pass it through git-apply\n"][LIT_CHARS "ignore-whitespace pass it through git-apply\n"][LIT_CHARS "directory= pass it through git-apply\n"][LIT_CHARS "exclude= pass it through git-apply\n"][LIT_CHARS "include= pass it through git-apply\n"][LIT_CHARS "C= pass it through git-apply\n"][LIT_CHARS "p= pass it through git-apply\n"][LIT_CHARS "patch-format= format the patch(es) are in\n"][LIT_CHARS "reject pass it through git-apply\n"][LIT_CHARS "resolvemsg= override error message when patch failure occurs\n"][LIT_CHARS "continue continue applying patches after resolving a conflict\n"][LIT_CHARS "r,resolved synonyms for --continue\n"][LIT_CHARS "skip skip the current patch\n"][LIT_CHARS "abort restore the original branch and abort the patching operation.\n"][LIT_CHARS "committer-date-is-author-date lie about committer date\n"][LIT_CHARS "ignore-date use current timestamp for author date\n"][LIT_CHARS "rerere-autoupdate update the index with reused conflict resolution if possible\n"][LIT_CHARS "S,gpg-sign? GPG-sign commits\n"][LIT_CHARS "rebasing* (internal use for git-rebase)"]]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-setup]}) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-i18n]}) (= scope= flags=0 words=[] bindings=[('prefix', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --show-prefix]})]})]) (Com {[LIT_CHARS set_reflog_action]} {[LIT_CHARS am]}) (Com {[LIT_CHARS require_work_tree]}) (Com {[LIT_CHARS cd_to_toplevel]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS var]} {[LIT_CHARS GIT_COMMITTER_IDENT]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "You need to set your committer info first"]]})]]}) ) (If (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('HAS_HEAD', {[LIT_CHARS yes]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('HAS_HEAD', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('cmdline', {[DQ [LIT_CHARS "git am"]]})]) (If (Com {[LIT_CHARS test]} {[SQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub interactive]]}) (= scope= flags=0 words=[] bindings=[('cmdline', {[DQ [VarSub cmdline][LIT_CHARS " -i"]]})]) ) (If (Com {[LIT_CHARS test]} {[SQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub threeway]]}) (= scope= flags=0 words=[] bindings=[('cmdline', {[DQ [VarSub cmdline][LIT_CHARS " -3"]]})]) ) (= scope= flags=0 words=[] bindings=[('empty_tree', {[LIT_CHARS 4b825dc642cb6eb9a060e54bf8d69288fbee4904]})]) (FunctionDef sq [] (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [VarSub @]]}) ) (FunctionDef stop_here [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /next]]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /abort-safety]]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef safe_to_abort [] (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /dirtyindex]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /abort-safety]]}) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (= scope= flags=0 words=[] bindings=[('abort_safety', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /abort-safety]]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS z][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS z][VarSub abort_safety]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "You seem to have moved HEAD since the last 'am' failure.\n"][LIT_CHARS "Not rewinding to ORIG_HEAD"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (FunctionDef stop_here_user_resolve [] (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub resolvemsg]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub resolvemsg]]}) (Com {[LIT_CHARS stop_here]} {[VarSub 1]}) ) ) (Com {[LIT_CHARS eval_gettextln]} {[DQ [LIT_CHARS "When you have resolved this problem, run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "cmdline --continue"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ".\n"][LIT_CHARS "If you prefer to skip this patch, run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "cmdline --skip"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " instead.\n"][LIT_CHARS "To restore the original branch and stop patching, run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "cmdline --abort"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS .]]}) (Com {[LIT_CHARS stop_here]} {[VarSub 1]}) ) ) (FunctionDef go_next [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]} {[DQ [VarSub dotest][LIT_CHARS /msg]]} {[DQ [VarSub dotest][LIT_CHARS /msg-clean]]} {[DQ [VarSub dotest][LIT_CHARS /patch]]} {[DQ [VarSub dotest][LIT_CHARS /info]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub next]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /next]]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('this', {[VarSub next]})]) ) ) (FunctionDef cannot_fallback [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "Cannot fall back to three-way merge."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef fall_back_3way [] (List (= scope= flags=0 words=[] bindings=[('O_OBJECT', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub GIT_OBJECT_DIRECTORY]]}) (Com {[LIT_CHARS pwd]}) )]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]] [LIT_CHARS /patch-merge-] [LIT_OTHER "*"]}) (Com {[LIT_CHARS mkdir]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-tmp-dir]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('cmd', {[DQ [LIT_CHARS "git apply "][VarSub git_apply_opt][LIT_CHARS " --build-fake-ancestor"]]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('cmd', {[DQ [VarSub cmd][LIT_CHARS " "]] [SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS eval]} {[DQ [VarSub cmd]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS write-tree]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS "/patch-merge-base+"]]} "> 1), > more_env=[('GIT_INDEX_FILE', {[DQ [VarSub dotest][LIT_CHARS /patch-merge-tmp-index]]})] ) (Com {[LIT_CHARS cannot_fallback]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Repository lacks necessary blobs to fall back on 3-way merge."]]})]]}) ) ) ) ) (Com {[LIT_CHARS say]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Using index info to reconstruct a base tree..."]]})]]}) (= scope= flags=0 words=[] bindings=[('cmd', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub GIT_QUIET]]}) (Com {[LIT_CHARS eval]} {[DQ [VarSub cmd][LIT_CHARS " git diff-index --cached --diff-filter=AM --name-status HEAD"]]}) ) (= scope= flags=0 words=[] bindings=[('cmd', {[DQ [VarSub cmd][LIT_CHARS " git apply --cached "][VarSub git_apply_opt]] [SQ ]})]) (If (Com {[LIT_CHARS eval]} {[DQ [VarSub cmd]]}) (List (Com {[LIT_CHARS mv]} {[DQ [VarSub dotest][LIT_CHARS "/patch-merge-base+"]]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-base]]}) (Com {[LIT_CHARS mv]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-tmp-index]]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-index]]}) ) (ElseTrue) (Com {[LIT_CHARS cannot_fallback]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Did you hand edit your patch?\n"][LIT_CHARS "It does not apply to blobs recorded in its index."]]})]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-index]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('his_tree', {[ComSub (Com more_env=[('GIT_INDEX_FILE', {[DQ [VarSub dotest][LIT_CHARS /patch-merge-index]]})] {[LIT_CHARS git]} {[LIT_CHARS write-tree]})]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('orig_tree', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /patch-merge-base]]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]] [LIT_CHARS /patch-merge-] [LIT_OTHER "*"]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) (Com {[LIT_CHARS say]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Falling back to patching base and 3-way merge..."]]})]]}) (Com {[LIT_CHARS eval]} {[LIT_CHARS GITHEAD_] [VarSub his_tree] [LIT_OTHER "="] [SQ ]}) (= scope= flags=1 words=[{[LIT_CHARS GITHEAD_] [VarSub his_tree]}] bindings=[]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_QUIET]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('GIT_MERGE_VERBOSITY', {[LIT_CHARS 0]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_MERGE_VERBOSITY]}] bindings=[]) ) ) (= scope= flags=0 words=[] bindings=[('our_tree', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS echo]} {[VarSub empty_tree]}) )]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS git-merge-recursive]} {[VarSub orig_tree]} {[LIT_CHARS --]} {[VarSub our_tree]} {[VarSub his_tree]}) (List (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]} {[VarSub allow_rerere_autoupdate]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Failed to merge in the changes."]]})]]}) ) ) (Com {[LIT_CHARS unset]} {[LIT_CHARS GITHEAD_] [VarSub his_tree]}) ) ) (FunctionDef clean_abort [] (List (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('patch_format', {[SQ ]})]) (FunctionDef check_patch_format [] (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub patch_format]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (If (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS x][VarSub 1]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS x-]]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub 1]]}) ) ) (List (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS mbox]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (AndOr OP_OR_IF (List redirects=[(FilenameRedirectNode filename={[DQ [VarSub 1]]} 0)] (= scope= flags=0 words=[] bindings=[('l1', {[SQ ]})]) (While (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub l1]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS read]} {[LIT_CHARS l1]}) (Com {[LIT_CHARS break]}) ) ) (Com {[LIT_CHARS read]} {[LIT_CHARS l2]}) (Com {[LIT_CHARS read]} {[LIT_CHARS l3]}) (Case to_match={[DQ [VarSub l1]]}, pat_word_list=[[{[DQ [LIT_CHARS "From "]] [LIT_OTHER "*"]}, {[DQ [LIT_CHARS "From: "]] [LIT_OTHER "*"]}], [{[SQ ] [LIT_OTHER "*"]}], [{[DQ [LIT_CHARS "# HG changeset patch"]]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS mbox]})]) (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS stgit-series]})]) (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS hg]})]) (Case to_match={[DQ [VarSub l2][LIT_CHARS ","][VarSub l3]]}, pat_word_list=[[{[LIT_COMMA ","] [DQ [LIT_CHARS "From: "]] [LIT_OTHER "*"]}, {[LIT_COMMA ","] [DQ [LIT_CHARS "Author: "]] [LIT_OTHER "*"]}, {[LIT_COMMA ","] [DQ [LIT_CHARS "Date: "]] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS stgit]})]) (ElseTrue) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub patch_format]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub l1]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub l2]]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub l3]]}) ) ) ) (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub 1]]} 0), > ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[LIT_CHARS p]}) (Com {[LIT_CHARS sane_egrep]} {[LIT_CHARS -v]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS mbox]})]) ) ) ) (Com {[LIT_CHARS clean_abort]}) ) ) ) (FunctionDef split_patches [] (Case to_match={[DQ [VarSub patch_format]]}, pat_word_list=[[{[LIT_CHARS mbox]}], [{[LIT_CHARS stgit-series]}], [{[LIT_CHARS stgit]}], [{[LIT_CHARS hg]}], [{[LIT_OTHER "*"]}]] (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS t]} {[LIT_OTHER "="]} {[DQ [VarSub keepcr]]}) (= scope= flags=0 words=[] bindings=[('keep_cr', {[LIT_CHARS --keep-cr]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('keep_cr', {[SQ ]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS mailsplit]} {[LIT_CHARS -d] [DQ [VarSub prec]]} {[LIT_CHARS -o] [DQ [VarSub dotest]]} {[LIT_CHARS -b]} {[VarSub keep_cr]} {[LIT_CHARS --]} {[DQ [VarSub @]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /last]]} "> 1), > ) (Com {[LIT_CHARS clean_abort]}) ) ) (List (If (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_CHARS -ne]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS clean_abort]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Only one StGIT patch series can be applied at once"]]})]]}) ) (= scope= flags=0 words=[] bindings=[('series_dir', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 1]]})]})]) (= scope= flags=0 words=[] bindings=[('series_file', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_OR_IF (List redirects=[(FilenameRedirectNode filename={[DQ [VarSub series_file]]} 0)] (Com {[LIT_CHARS set]} {[LIT_CHARS x]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS filename]}) (Com {[LIT_CHARS set]} {[DQ [VarSub @]]} {[DQ [VarSub series_dir][LIT_CHARS /][VarSub filename]]}) ) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) ) (Com {[LIT_CHARS clean_abort]}) ) (= scope= flags=0 words=[] bindings=[('patch_format', {[LIT_CHARS stgit]})]) (Com {[LIT_CHARS split_patches]} {[DQ [VarSub @]]}) ) (List (= scope= flags=0 words=[] bindings=[('this', {[LIT_CHARS 0]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS 0]} {[LIT_CHARS -eq]} {[DQ [VarSub #]]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[LIT_CHARS -]}) ) (For stgit [{[DQ [VarSub @]]}]) (List (= scope= flags=0 words=[] bindings=[('this', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub this]]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) (= scope= flags=0 words=[] bindings=[('msgnum', {[ComSub (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%0"][VarSub prec][LIT_CHARS d]]} {[VarSub this]})]})]) (AndOr OP_OR_IF (Com {[LIT_OTHER "@"] [LIT_OTHER "@"] [LIT_CHARS PERL] [LIT_OTHER "@"] [LIT_OTHER "@"]} {[LIT_CHARS -ne]} {[SQ 1) { print ; }\n"> ]} {[LIT_CHARS --]} {[DQ [VarSub stgit]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]} "> 1), > ) (Com {[LIT_CHARS clean_abort]}) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub this]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /last]]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('this', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('msgnum', {[SQ ]})]) ) (List (= scope= flags=0 words=[] bindings=[('this', {[LIT_CHARS 0]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS 0]} {[LIT_CHARS -eq]} {[DQ [VarSub #]]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[LIT_CHARS -]}) ) (For hg [{[DQ [VarSub @]]}]) (List (= scope= flags=0 words=[] bindings=[('this', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub this]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('msgnum', {[ComSub (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%0"][VarSub prec][LIT_CHARS d]]} {[VarSub this]})]})]) (AndOr OP_OR_IF (Com {[LIT_OTHER "@"] [LIT_OTHER "@"] [LIT_CHARS PERL] [LIT_OTHER "@"] [LIT_OTHER "@"]} {[LIT_CHARS -M] [SQ ]} {[LIT_CHARS -ne]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub hg]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]} "> 1), > more_env=[('LANG', {[LIT_CHARS C]}), ('LC_ALL', {[LIT_CHARS C]})] ) (Com {[LIT_CHARS clean_abort]}) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub this]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /last]]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('this', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('msgnum', {[SQ ]})]) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub patch_format]]}) (Com {[LIT_CHARS clean_abort]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "Patch format "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "patch_format is not supported."]]})]]}) (ElseTrue) (Com {[LIT_CHARS clean_abort]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Patch format detection failed."]]})]]}) ) ) ) (= scope= flags=0 words=[] bindings=[('prec', {[LIT_CHARS 4]})]) (= scope= flags=0 words=[] bindings=[('dotest', {[DQ [VarSub GIT_DIR][LIT_CHARS /rebase-apply]]})]) (= scope= flags=0 words=[] bindings=[('sign', {[SQ ]}), ('utf8', {[LIT_CHARS t]}), ('keep', {[SQ ]}), ('keepcr', {[SQ ]}), ('skip', {[SQ ]}), ('interactive', {[SQ ]}), ('resolved', {[SQ ]}), ('rebasing', {[SQ ]}), ('abort', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('messageid', {[SQ ]}), ('resolvemsg', {[SQ ]}), ('resume', {[SQ ]}), ('scissors', {[SQ ]}), ('no_inbody_headers', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('git_apply_opt', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('committer_date_is_author_date', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ignore_date', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('allow_rerere_autoupdate', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_opt', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('threeway', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS --get]} {[LIT_CHARS am.messageid]})]]} {[LIT_OTHER "="]} {[LIT_CHARS true]}) (= scope= flags=0 words=[] bindings=[('messageid', {[LIT_CHARS t]})]) ) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS --get]} {[LIT_CHARS am.keepcr]})]]} {[LIT_OTHER "="]} {[LIT_CHARS true]}) (= scope= flags=0 words=[] bindings=[('keepcr', {[LIT_CHARS t]})]) ) (While (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS -i]}, {[LIT_CHARS --interactive]}], [{[LIT_CHARS -b]}, {[LIT_CHARS --binary]}], [{[LIT_CHARS -3]}, {[LIT_CHARS --3way]}], [{[LIT_CHARS -s]}, {[LIT_CHARS --signoff]}], [{[LIT_CHARS -u]}, {[LIT_CHARS --utf8]}], [{[LIT_CHARS --no-utf8]}], [{[LIT_CHARS -m]}, {[LIT_CHARS --message-id]}], [{[LIT_CHARS --no-message-id]}], [{[LIT_CHARS -k]}, {[LIT_CHARS --keep]}], [{[LIT_CHARS --keep-non-patch]}], [{[LIT_CHARS -c]}, {[LIT_CHARS --scissors]}], [{[LIT_CHARS --no-scissors]}], [{[LIT_CHARS -r]}, {[LIT_CHARS --resolved]}, {[LIT_CHARS --continue]}], [{[LIT_CHARS --skip]}], [{[LIT_CHARS --abort]}], [{[LIT_CHARS --rebasing]}], [{[LIT_CHARS --resolvemsg] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --whitespace] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --directory] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --exclude] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --include] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -C] [LIT_OTHER "*"]}, {[LIT_CHARS -p] [LIT_OTHER "*"]}], [{[LIT_CHARS --patch-format] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --reject]}, {[LIT_CHARS --ignore-whitespace]}, {[LIT_CHARS --ignore-space-change]}], [{[LIT_CHARS --committer-date-is-author-date]}], [{[LIT_CHARS --ignore-date]}], [{[LIT_CHARS --rerere-autoupdate]}, {[LIT_CHARS --no-rerere-autoupdate]}], [{[LIT_CHARS -q]}, {[LIT_CHARS --quiet]}], [{[LIT_CHARS --keep-cr]}], [{[LIT_CHARS --no-keep-cr]}], [{[LIT_CHARS --gpg-sign]}], [{[LIT_CHARS --gpg-sign] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('interactive', {[LIT_CHARS t]})]) (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "The -b/--binary option has been a no-op for long time, and\n"][LIT_CHARS "it will be removed. Please do not use it anymore."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('threeway', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('sign', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('utf8', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('utf8', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('messageid', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('messageid', {[LIT_CHARS f]})]) (= scope= flags=0 words=[] bindings=[('keep', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('keep', {[LIT_CHARS b]})]) (= scope= flags=0 words=[] bindings=[('scissors', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('scissors', {[LIT_CHARS f]})]) (= scope= flags=0 words=[] bindings=[('resolved', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('skip', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('abort', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('rebasing', {[LIT_CHARS t]}), ('threeway', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('resolvemsg', {[DQ [VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "--resolvemsg="]}]]]})]) (= scope= flags=0 words=[] bindings=[('git_apply_opt', {[DQ [VarSub git_apply_opt][LIT_CHARS " "][ComSub (Com {[LIT_CHARS sq]} {[DQ [VarSub 1]]})]]})]) (= scope= flags=0 words=[] bindings=[('git_apply_opt', {[DQ [VarSub git_apply_opt][LIT_CHARS " "][ComSub (Com {[LIT_CHARS sq]} {[DQ [VarSub 1]]})]]})]) (= scope= flags=0 words=[] bindings=[('patch_format', {[DQ [VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "--patch-format="]}]]]})]) (= scope= flags=0 words=[] bindings=[('git_apply_opt', {[DQ [VarSub git_apply_opt][LIT_CHARS " "][VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('committer_date_is_author_date', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('ignore_date', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('allow_rerere_autoupdate', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('GIT_QUIET', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('keepcr', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('keepcr', {[LIT_CHARS f]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_opt', {[LIT_CHARS -S]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_opt', {[DQ [LIT_CHARS -S][VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "--gpg-sign="]}]]]})]) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS usage]}) ) (Com {[LIT_CHARS shift]}) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub dotest]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /last]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /next]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('last', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /last]]})]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('next', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /next]]})]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS test]} {[DQ [VarSub next]]} {[LIT_CHARS -gt]} {[DQ [VarSub last]]}) ) ) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]]}) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub dotest]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /last]]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /next]]}) ) ) (List (AndOr OP_OR_IF (Case to_match={[DQ [VarSub #][LIT_CHARS ","][VarSub skip][VarSub resolved][VarSub abort]]}, pat_word_list=[[{[LIT_CHARS 0] [LIT_COMMA ","] [LIT_OTHER "*"] [LIT_CHARS t] [LIT_OTHER "*"]}], [{[LIT_CHARS 0] [LIT_COMMA ","]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_OTHER ":"]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -t]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS false]}) ) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "previous rebase directory "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "dotest still exists but mbox given."]]})]]}) ) (= scope= flags=0 words=[] bindings=[('resume', {[LIT_CHARS yes]})]) (Case to_match={[DQ [VarSub skip][LIT_CHARS ","][VarSub abort]]}, pat_word_list=[[{[LIT_CHARS t] [LIT_COMMA ","] [LIT_CHARS t]}], [{[LIT_CHARS t] [LIT_COMMA ","]}], [{[LIT_COMMA ","] [LIT_CHARS t]}]] (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Please make up your mind. --skip or --abort?"]]})]]}) (List (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]} {[LIT_CHARS clear]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('head_tree', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS echo]} {[VarSub empty_tree]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS --reset]} {[LIT_CHARS -u]} {[VarSub head_tree]} {[VarSub head_tree]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('index_tree', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS write-tree]})]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -m]} {[LIT_CHARS -u]} {[VarSub index_tree]} {[VarSub head_tree]}) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -m]} {[VarSub head_tree]}) ) (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /rebasing]]}) (Com {[LIT_CHARS exec]} {[LIT_CHARS git]} {[LIT_CHARS rebase]} {[LIT_CHARS --abort]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]} {[LIT_CHARS clear]}) (If (Com {[LIT_CHARS safe_to_abort]}) (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('head_tree', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS echo]} {[VarSub empty_tree]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS --reset]} {[LIT_CHARS -u]} {[VarSub head_tree]} {[VarSub head_tree]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('index_tree', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS write-tree]})]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('orig_head', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS ORIG_HEAD]}) (Com {[LIT_CHARS echo]} {[VarSub empty_tree]}) )]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -m]} {[LIT_CHARS -u]} {[VarSub index_tree]} {[VarSub orig_head]}) ) ) ) ) (If (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS ORIG_HEAD]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS reset]} {[LIT_CHARS ORIG_HEAD]}) (ElseTrue) (List (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[VarSub empty_tree]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[LIT_CHARS HEAD]})]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -d]} {[VarSub curr_branch]}) ) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS exit]}) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /dirtyindex]]}) ) (ElseTrue) (List (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub rebasing]]}) ) (Case to_match={[DQ [VarSub skip][LIT_CHARS ","][VarSub resolved][LIT_CHARS ","][VarSub abort]]}, pat_word_list=[[{[LIT_COMMA ","] [LIT_COMMA ","] [LIT_CHARS t]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "Stray "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "dotest directory found.\n"][LIT_CHARS "Use "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "git am --abort"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " to remove it."]]})]]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub skip][VarSub resolved][VarSub abort]]} {[LIT_OTHER "="]} {[DQ ]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Resolve operation not in progress, we are not resuming."]]})]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS exit]}) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub prefix]]}) (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) ) (List (= scope= flags=0 words=[] bindings=[('first', {[LIT_CHARS t]})]) (For arg do_arg_iter) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub first]]}) (List (Com {[LIT_CHARS set]} {[LIT_CHARS x]}) (= scope= flags=0 words=[] bindings=[('first', {[SQ ]})]) ) ) (If (Com {[LIT_CHARS is_absolute_path]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS set]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (ElseTrue) (Com {[LIT_CHARS set]} {[DQ [VarSub @]]} {[DQ [VarSub prefix][VarSub arg]]}) ) ) ) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS check_patch_format]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS split_patches]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "][VarSub git_apply_opt]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /apply-opt]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub threeway]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /threeway]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub sign]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /sign]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub utf8]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /utf8]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub keep]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /keep]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub messageid]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /messageid]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub scissors]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /scissors]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub no_inbody_headers]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /no_inbody_headers]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub GIT_QUIET]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /quiet]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[LIT_CHARS 1]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /next]]} "> 1), > ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub rebasing]]}) (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /rebasing]]} "> 1), > ) (ElseTrue) (List (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /applying]]} "> 1), > ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub HAS_HEAD]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS ORIG_HEAD]} {[LIT_CHARS HEAD]}) (ElseTrue) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -d]} {[LIT_CHARS ORIG_HEAD]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) ) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS update-index]} {[LIT_CHARS -q]} {[LIT_CHARS --refresh]}) (Case to_match={[DQ [VarSub resolved]]}, pat_word_list=[[{[SQ ]}]] (List (AndOr OP_OR_IF (Case to_match={[DQ [VarSub HAS_HEAD]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('files', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]})]})]) (= scope= flags=0 words=[] bindings=[('files', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS diff-index]} {[LIT_CHARS --cached]} {[LIT_CHARS --name-only]} {[LIT_CHARS HEAD]} {[LIT_CHARS --]})]})]) ) (Com {[LIT_CHARS exit]}) ) (If (Com {[LIT_CHARS test]} {[DQ [VarSub files]]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub HAS_HEAD]]}) (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /dirtyindex]]} "> 1), > ) ) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "Dirty index: cannot apply patches (dirty: "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "files)"]]})]]}) ) ) ) ) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /utf8]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('utf8', {[LIT_CHARS -u]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('utf8', {[LIT_CHARS -n]})]) ) (= scope= flags=0 words=[] bindings=[('keep', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /keep]]})]})]) (Case to_match={[DQ [VarSub keep]]}, pat_word_list=[[{[LIT_CHARS t]}], [{[LIT_CHARS b]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('keep', {[LIT_CHARS -k]})]) (= scope= flags=0 words=[] bindings=[('keep', {[LIT_CHARS -b]})]) (= scope= flags=0 words=[] bindings=[('keep', {[SQ ]})]) ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /messageid]]})]]}, pat_word_list=[[{[LIT_CHARS t]}], [{[LIT_CHARS f]}]] (= scope= flags=0 words=[] bindings=[('messageid', {[LIT_CHARS -m]})]) (= scope= flags=0 words=[] bindings=[('messageid', {[SQ ]})]) ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /scissors]]})]]}, pat_word_list=[[{[LIT_CHARS t]}], [{[LIT_CHARS f]}]] (= scope= flags=0 words=[] bindings=[('scissors', {[LIT_CHARS --scissors]})]) (= scope= flags=0 words=[] bindings=[('scissors', {[LIT_CHARS --no-scissors]})]) ) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /no_inbody_headers]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('no_inbody_headers', {[LIT_CHARS --no-inbody-headers]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('no_inbody_headers', {[SQ ]})]) ) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /quiet]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('GIT_QUIET', {[LIT_CHARS t]})]) ) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /threeway]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('threeway', {[LIT_CHARS t]})]) ) (= scope= flags=0 words=[] bindings=[('git_apply_opt', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /apply-opt]]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /sign]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('SIGNOFF', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS var]} {[LIT_CHARS GIT_COMMITTER_IDENT]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ .*/>/\n"> ]}) )]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SIGNOFF', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('last', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /last]]})]})]) (= scope= flags=0 words=[] bindings=[('this', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /next]]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub skip]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (List (= scope= flags=0 words=[] bindings=[('this', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub this]]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) (= scope= flags=0 words=[] bindings=[('resume', {[SQ ]})]) ) ) (While (Com {[LIT_CHARS test]} {[DQ [VarSub this]]} {[LIT_CHARS -le]} {[DQ [VarSub last]]}) (List (= scope= flags=0 words=[] bindings=[('msgnum', {[ComSub (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%0"][VarSub prec][LIT_CHARS d]]} {[VarSub this]})]})]) (= scope= flags=0 words=[] bindings=[('next', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub this]]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]}) (List (= scope= flags=0 words=[] bindings=[('resume', {[SQ ]})]) (Com {[LIT_CHARS go_next]}) (Com {[LIT_CHARS continue]}) ) ) (Case to_match={[DQ [VarSub resume]]}, pat_word_list=[[{[SQ ]}]] (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /rebasing]]}) (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('commit', {[ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[LIT_CHARS q]} {[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -t]} {[DQ [VarSub commit]]})]]} {[LIT_OTHER "="]} {[LIT_CHARS commit]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS commit]} {[DQ [VarSub commit]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /msg-clean]]} "> 1), > ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub commit]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /original-commit]]} "> 1), > ) (Com {[LIT_CHARS get_author_ident_from_commit]} {[DQ [VarSub commit]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /author-script]]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS diff-tree]} {[LIT_CHARS --root]} {[LIT_CHARS --binary]} {[LIT_CHARS --full-index]} {[DQ [VarSub commit]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /patch]]} "> 1), > ) ) (ElseTrue) (List (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS mailinfo]} {[VarSub keep]} {[VarSub no_inbody_headers]} {[VarSub messageid]} {[VarSub scissors]} {[VarSub utf8]} {[DQ [VarSub dotest][LIT_CHARS /msg]]} {[DQ [VarSub dotest][LIT_CHARS /patch]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /][VarSub msgnum]]} 0), (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /info]]} "> 1), > ) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS sane_grep]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub dotest]] [LIT_CHARS /info]} 0), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS go_next]}) (Com {[LIT_CHARS continue]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[DQ [VarSub dotest][LIT_CHARS /patch]]}) (List (Com {[LIT_CHARS eval_gettextln]} {[DQ [LIT_CHARS "Patch is empty. Was it split wrong?\n"][LIT_CHARS "If you would prefer to skip this patch, instead run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "cmdline --skip"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ".\n"][LIT_CHARS "To restore the original branch and stop patching run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "cmdline --abort"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS .]]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /original-commit]]} {[DQ [VarSub dotest][LIT_CHARS /author-script]]}) (Pipeline (List (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[DQ [VarSub dotest][LIT_CHARS /info]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /msg]]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS stripspace]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /msg-clean]]} "> 1), > ) ) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /author-script]]}) (Com {[LIT_CHARS eval]} {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /author-script]]})]}) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('GIT_AUTHOR_NAME', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[DQ [VarSub dotest][LIT_CHARS /info]]})]]})]) (= scope= flags=0 words=[] bindings=[('GIT_AUTHOR_EMAIL', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[DQ [VarSub dotest][LIT_CHARS /info]]})]]})]) (= scope= flags=0 words=[] bindings=[('GIT_AUTHOR_DATE', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[DQ [VarSub dotest][LIT_CHARS /info]]})]]})]) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub GIT_AUTHOR_EMAIL]]}) (List (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "Patch does not have a valid e-mail address."]]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) (= scope= flags=1 words=[{[LIT_CHARS GIT_AUTHOR_NAME]}, {[LIT_CHARS GIT_AUTHOR_EMAIL]}, {[LIT_CHARS GIT_AUTHOR_DATE]}] bindings=[]) (Case to_match={[DQ [VarSub resume]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"]}]] (List (If (Com {[LIT_CHARS test]} {[SQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub SIGNOFF]]}) (List (= scope= flags=0 words=[] bindings=[('LAST_SIGNED_OFF_BY', {[ComSub (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[SQ ]} {[DQ [VarSub dotest][LIT_CHARS /msg-clean]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('ADD_SIGNOFF', {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub LAST_SIGNED_OFF_BY]]} {[LIT_OTHER "="]} {[DQ [VarSub SIGNOFF]]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[SQ ]} {[LIT_OTHER "="]} {[DQ [VarSub LAST_SIGNED_OFF_BY]]}) (Com {[LIT_CHARS echo]}) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub SIGNOFF]]}) ) )]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('ADD_SIGNOFF', {[SQ ]})]) ) (List redirects=[(FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /final-commit]]} "> 1)] (If (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[DQ [VarSub dotest][LIT_CHARS /msg-clean]]}) (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /msg-clean]]}) ) (If (Com {[LIT_CHARS test]} {[SQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub ADD_SIGNOFF]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub ADD_SIGNOFF]]}) ) ) ) (Case to_match={[DQ [VarSub resolved][VarSub interactive]]}, pat_word_list=[[{[LIT_CHARS tt]}]] (Com {[LIT_CHARS git]} {[LIT_CHARS diff-index]} {[LIT_CHARS -p]} {[LIT_CHARS --cached]} {[LIT_CHARS HEAD]} {[LIT_CHARS --]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /patch]]} "> 1), > ) ) ) (= scope= flags=0 words=[] bindings=[('resume', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub interactive]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (List (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -t]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "cannot be interactive without stdin connected to a terminal."]]})]]}) ) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS again]})]) (While (Com {[LIT_CHARS test]} {[DQ [VarSub action]]} {[LIT_OTHER "="]} {[LIT_CHARS again]}) (List (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "Commit Body is:"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS --------------------------]]}) (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /final-commit]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS --------------------------]]}) (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "]]}) (Com {[LIT_CHARS read]} {[LIT_CHARS reply]}) (Case to_match={[DQ [VarSub reply]]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS yY] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "["] [LIT_CHARS aA] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "["] [LIT_CHARS nN] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "["] [LIT_CHARS eE] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "["] [LIT_CHARS vV] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS yes]}), ('interactive', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS skip]})]) (List (Com {[LIT_CHARS git_editor]} {[DQ [VarSub dotest][LIT_CHARS /final-commit]]}) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS again]})]) ) (List (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS again]})]) (Com {[LIT_CHARS git_pager]} {[DQ [VarSub dotest][LIT_CHARS /patch]]}) ) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS again]})]) ) ) ) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('action', {[LIT_CHARS yes]})]) ) (If (Com {[LIT_CHARS test]} {[VarSub action]} {[LIT_OTHER "="]} {[LIT_CHARS skip]}) (List (Com {[LIT_CHARS go_next]}) (Com {[LIT_CHARS continue]}) ) ) (= scope= flags=0 words=[] bindings=[('hook', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-path]} {[LIT_CHARS hooks/applypatch-msg]})]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub hook]]}) (AndOr OP_OR_IF (Com {[DQ [VarSub hook]]} {[DQ [VarSub dotest][LIT_CHARS /final-commit]]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /final-commit]]}) (= scope= flags=0 words=[] bindings=[('FIRSTLINE', {[ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS 1q]} {[DQ [VarSub dotest][LIT_CHARS /final-commit]]})]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('FIRSTLINE', {[DQ ]})]) ) (Com {[LIT_CHARS say]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "Applying: "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS FIRSTLINE]]})]]}) (Case to_match={[DQ [VarSub resolved]]}, pat_word_list=[[{[SQ ]}], [{[LIT_CHARS t]}]] (List (= scope= flags=0 words=[] bindings=[('squelch', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub threeway]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) (= scope= flags=0 words=[] bindings=[('squelch', {[SQ /dev/null 2>&1 ">]})]) ) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "git apply "][VarSub squelch][VarSub git_apply_opt]] [SQ ]}) (= scope= flags=0 words=[] bindings=[('apply_status', {[VarSub ?]})]) ) (List (= scope= flags=0 words=[] bindings=[('resolved', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-index]} {[LIT_CHARS --quiet]} {[LIT_CHARS --cached]} {[LIT_CHARS HEAD]} {[LIT_CHARS --]}) (List (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "No changes - did you forget to use 'git add'?\n"][LIT_CHARS "If there is nothing left to stage, chances are that something else\n"][LIT_CHARS "already introduced the same changes; you might want to skip this patch."]]}) (Com {[LIT_CHARS stop_here_user_resolve]} {[VarSub this]}) ) ) (= scope= flags=0 words=[] bindings=[('unmerged', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -u]})]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub unmerged]]}) (List (Com {[LIT_CHARS gettextln]} {[DQ [LIT_CHARS "You still have unmerged paths in your index\n"][LIT_CHARS "did you forget to use 'git add'?"]]}) (Com {[LIT_CHARS stop_here_user_resolve]} {[VarSub this]}) ) ) (= scope= flags=0 words=[] bindings=[('apply_status', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]}) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub apply_status]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS test]} {[DQ [VarSub threeway]]} {[LIT_OTHER "="]} {[LIT_CHARS t]}) ) (If (Subshell (Com {[LIT_CHARS fall_back_3way]}) ) (List (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-index]} {[LIT_CHARS --quiet]} {[LIT_CHARS --cached]} {[LIT_CHARS HEAD]} {[LIT_CHARS --]}) (List (Com {[LIT_CHARS say]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "No changes -- Patch already applied."]]})]]}) (Com {[LIT_CHARS go_next]}) (Com {[LIT_CHARS continue]}) ) ) (= scope= flags=0 words=[] bindings=[('apply_status', {[LIT_CHARS 0]})]) ) ) ) (If (Com {[LIT_CHARS test]} {[VarSub apply_status]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (List (Com {[LIT_CHARS eval_gettextln]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS advice.amworkdir]})]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS false]}) (Com {[LIT_CHARS eval_gettextln]} {[SQ ]}) ) (Com {[LIT_CHARS stop_here_user_resolve]} {[VarSub this]}) ) ) (= scope= flags=0 words=[] bindings=[('hook', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-path]} {[LIT_CHARS hooks/pre-applypatch]})]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub hook]]}) (AndOr OP_OR_IF (Com {[DQ [VarSub hook]]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('tree', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS write-tree]})]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('commit', {[ComSub (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub ignore_date]]}) (= scope= flags=0 words=[] bindings=[('GIT_AUTHOR_DATE', {[SQ ]})]) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('parent', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]})]})]) (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1)]{[LIT_CHARS say]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "applying to an empty history"]]})]]}) ) (AndOr OP_AND_IF (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub committer_date_is_author_date]]}) (List (= scope= flags=0 words=[] bindings=[('GIT_COMMITTER_DATE', {[DQ [VarSub GIT_AUTHOR_DATE]]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_COMMITTER_DATE]}] bindings=[]) ) ) (Com redirects=[(FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /final-commit]]} 0)]{[LIT_CHARS git]} {[LIT_CHARS commit-tree]} {[VarSub parent test_op=VS_TEST_COLON_PLUS {[LIT_CHARS -p]}]} {[VarSub parent]} {[VarSub gpg_sign_opt test_op=VS_TEST_COLON_PLUS {[DQ [VarSub gpg_sign_opt]]}]} {[VarSub tree]}) ) )]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -m]} {[DQ [VarSub GIT_REFLOG_ACTION][LIT_CHARS ": "][VarSub FIRSTLINE]]} {[LIT_CHARS HEAD]} {[VarSub commit]} {[VarSub parent]}) (Com {[LIT_CHARS stop_here]} {[VarSub this]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /original-commit]]}) (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub dotest][LIT_CHARS /original-commit]]})][LIT_CHARS " "][VarSub commit]]} < (FilenameRedirectNode filename={[DQ [VarSub dotest][LIT_CHARS /rewritten]]} >"> 1), > ) ) (= scope= flags=0 words=[] bindings=[('hook', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-path]} {[LIT_CHARS hooks/post-applypatch]})]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub hook]]}) (Com {[DQ [VarSub hook]]}) ) (Com {[LIT_CHARS go_next]}) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[DQ [VarSub dotest]] [LIT_CHARS /rewritten]}) (List (Com {[LIT_CHARS git]} {[LIT_CHARS notes]} {[LIT_CHARS copy]} {[LIT_CHARS --for-rewrite] [LIT_OTHER "="] [LIT_CHARS rebase]} < (FilenameRedirectNode filename={[DQ [VarSub dotest]] [LIT_CHARS /rewritten]} 0), > ) (= scope= flags=0 words=[] bindings=[('hook', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-path]} {[LIT_CHARS hooks/post-rewrite]})]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub hook]]}) (Com {[DQ [VarSub hook]]} {[LIT_CHARS rebase]} < (FilenameRedirectNode filename={[DQ [VarSub dotest]] [LIT_CHARS /rewritten]} 0), > ) ) ) ) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub dotest][LIT_CHARS /rebasing]]}) ) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub dotest]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS gc]} {[LIT_CHARS --auto]}) ) ) )