(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 Yes]})]) (= scope= flags=0 words=[] bindings=[('OPTIONS_SPEC', {[DQ [LIT_CHARS "git pull [options] [ [...]]\n"][LIT_CHARS "\n"][LIT_CHARS "Fetch one or more remote refs and integrate it/them with the current HEAD.\n"][LIT_CHARS "--\n"][LIT_CHARS "v,verbose be more verbose\n"][LIT_CHARS "q,quiet be more quiet\n"][LIT_CHARS "progress force progress reporting\n"][LIT_CHARS "\n"][LIT_CHARS " Options related to merging\n"][LIT_CHARS "r,rebase?false|true|preserve incorporate changes by rebasing rather than merging\n"][LIT_CHARS "n! do not show a diffstat at the end of the merge\n"][LIT_CHARS "stat show a diffstat at the end of the merge\n"][LIT_CHARS "summary (synonym to --stat)\n"][LIT_CHARS "log?n add (at most ) entries from shortlog to merge commit message\n"][LIT_CHARS "squash create a single commit instead of doing a merge\n"][LIT_CHARS "commit perform a commit if the merge succeeds (default)\n"][LIT_CHARS "e,edit edit message before committing\n"][LIT_CHARS "ff allow fast-forward\n"][LIT_CHARS "ff-only! abort if fast-forward is not possible\n"][LIT_CHARS "verify-signatures verify that the named commit has a valid GPG signature\n"][LIT_CHARS "s,strategy=strategy merge strategy to use\n"][LIT_CHARS "X,strategy-option=option option for selected merge strategy\n"][LIT_CHARS "S,gpg-sign?key-id GPG sign commit\n"][LIT_CHARS "\n"][LIT_CHARS " Options related to fetching\n"][LIT_CHARS "all fetch from all remotes\n"][LIT_CHARS "a,append append to .git/FETCH_HEAD instead of overwriting\n"][LIT_CHARS "upload-pack=path path to upload pack on remote end\n"][LIT_CHARS "f,force force overwrite of local branch\n"][LIT_CHARS "t,tags fetch all tags and associated objects\n"][LIT_CHARS "p,prune prune remote-tracking branches no longer on remote\n"][LIT_CHARS "recurse-submodules?on-demand control recursive fetching of submodules\n"][LIT_CHARS "dry-run dry run\n"][LIT_CHARS "k,keep keep downloaded pack\n"][LIT_CHARS "depth=depth deepen history of shallow clone\n"][LIT_CHARS "unshallow convert to a complete repository\n"][LIT_CHARS "update-shallow accept refs that update .git/shallow\n"][LIT_CHARS "refmap=refmap specify fetch refmap\n"]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (= scope= flags=0 words=[] bindings=[('args', {[DQ [VarSub *]]})]) ) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-setup]}) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-i18n]}) (Com {[LIT_CHARS set_reflog_action]} {[DQ [LIT_CHARS pull][VarSub args test_op=VS_TEST_PLUS {[LIT_CHARS " "] [VarSub args]}]]}) (Com {[LIT_CHARS require_work_tree_exists]}) (Com {[LIT_CHARS cd_to_toplevel]}) (FunctionDef die_conflict [] (List (Com {[LIT_CHARS git]} {[LIT_CHARS diff-index]} {[LIT_CHARS --cached]} {[LIT_CHARS --name-status]} {[LIT_CHARS -r]} {[LIT_CHARS --ignore-submodules]} {[LIT_CHARS HEAD]} {[LIT_CHARS --]}) (If (Com {[LIT_OTHER "["]} {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS --get]} {[LIT_CHARS advice.resolveConflict]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS true]}) )]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Pull is not possible because you have unmerged files.\n"][LIT_CHARS "Please, fix them up in the work tree, and then use 'git add/rm '\n"][LIT_CHARS "as appropriate to mark resolution and make a commit."]]})]]}) (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Pull is not possible because you have unmerged files."]]})]]}) ) ) ) (FunctionDef die_merge [] (If (Com {[LIT_OTHER "["]} {[ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS --get]} {[LIT_CHARS advice.resolveConflict]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS true]}) )]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "You have not concluded your merge (MERGE_HEAD exists).\n"][LIT_CHARS "Please, commit your changes before merging."]]})]]}) (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "You have not concluded your merge (MERGE_HEAD exists)."]]})]]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -u]})]]}) (Com {[LIT_CHARS die_conflict]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /MERGE_HEAD]]}) (Com {[LIT_CHARS die_merge]}) ) (FunctionDef bool_or_string_config [] (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[DQ [VarSub 1]]}) ) ) (= scope= flags=0 words=[] bindings=[('strategy_args', {[SQ ]}), ('diffstat', {[SQ ]}), ('no_commit', {[SQ ]}), ('squash', {[SQ ]}), ('no_ff', {[SQ ]}), ('ff_only', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('log_arg', {[SQ ]}), ('verbosity', {[SQ ]}), ('progress', {[SQ ]}), ('recurse_submodules', {[SQ ]}), ('verify_signatures', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('merge_args', {[SQ ]}), ('edit', {[SQ ]}), ('rebase_args', {[SQ ]}), ('all', {[SQ ]}), ('append', {[SQ ]}), ('upload_pack', {[SQ ]}), ('force', {[SQ ]}), ('tags', {[SQ ]}), ('prune', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('keep', {[SQ ]}), ('depth', {[SQ ]}), ('unshallow', {[SQ ]}), ('update_shallow', {[SQ ]}), ('refmap', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('curr_branch', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('curr_branch_short', {[DQ [VarSub curr_branch transform_ops=[VS_UNARY_POUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS heads] [LIT_SLASH /]}]]]})]) (= scope= flags=0 words=[] bindings=[('rebase', {[ComSub (Com {[LIT_CHARS bool_or_string_config]} {[LIT_CHARS branch.] [VarSub curr_branch_short] [LIT_CHARS .rebase]})]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub rebase]]}) (= scope= flags=0 words=[] bindings=[('rebase', {[ComSub (Com {[LIT_CHARS bool_or_string_config]} {[LIT_CHARS pull.rebase]})]})]) ) (= scope= flags=0 words=[] bindings=[('pull_ff', {[ComSub (Com {[LIT_CHARS bool_or_string_config]} {[LIT_CHARS pull.ff]})]})]) (Case to_match={[DQ [VarSub pull_ff]]}, pat_word_list=[[{[LIT_CHARS true]}], [{[LIT_CHARS false]}], [{[LIT_CHARS only]}]] (= scope= flags=0 words=[] bindings=[('no_ff', {[LIT_CHARS --ff]})]) (= scope= flags=0 words=[] bindings=[('no_ff', {[LIT_CHARS --no-ff]})]) (= scope= flags=0 words=[] bindings=[('ff_only', {[LIT_CHARS --ff-only]})]) ) (= scope= flags=0 words=[] bindings=[('dry_run', {[SQ ]})]) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS -q]}, {[LIT_CHARS --quiet]}], [{[LIT_CHARS -v]}, {[LIT_CHARS --verbose]}], [{[LIT_CHARS --progress]}], [{[LIT_CHARS --no-progress]}], [{[LIT_CHARS -n]}, {[LIT_CHARS --no-stat]}, {[LIT_CHARS --no-summary]}], [{[LIT_CHARS --stat]}, {[LIT_CHARS --summary]}], [{[LIT_CHARS --log]}, {[LIT_CHARS --log] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --no-log]}], [{[LIT_CHARS --no-commit]}], [{[LIT_CHARS --commit]}], [{[LIT_CHARS -e]}, {[LIT_CHARS --edit]}], [{[LIT_CHARS --no-edit]}], [{[LIT_CHARS --squash]}], [{[LIT_CHARS --no-squash]}], [{[LIT_CHARS --ff]}], [{[LIT_CHARS --no-ff]}], [{[LIT_CHARS --ff-only]}], [{[LIT_CHARS -s] [LIT_OTHER "*"]}, {[LIT_CHARS --strategy] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -X] [LIT_OTHER "*"]}, {[LIT_CHARS --strategy-option] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -r] [LIT_OTHER "*"]}, {[LIT_CHARS --rebase] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --rebase]}], [{[LIT_CHARS --no-rebase]}], [{[LIT_CHARS --recurse-submodules]}], [{[LIT_CHARS --recurse-submodules] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --no-recurse-submodules]}], [{[LIT_CHARS --verify-signatures]}], [{[LIT_CHARS --no-verify-signatures]}], [{[LIT_CHARS --gpg-sign]}, {[LIT_CHARS -S]}], [{[LIT_CHARS --gpg-sign] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -S] [LIT_OTHER "*"]}], [{[LIT_CHARS --dry-run]}], [{[LIT_CHARS --all]}, {[LIT_CHARS --no-all]}], [{[LIT_CHARS -a]}, {[LIT_CHARS --append]}, {[LIT_CHARS --no-append]}], [{[LIT_CHARS --upload-pack] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --no-upload-pack]}], [{[LIT_CHARS -f]}, {[LIT_CHARS --force]}, {[LIT_CHARS --no-force]}], [{[LIT_CHARS -t]}, {[LIT_CHARS --tags]}, {[LIT_CHARS --no-tags]}], [{[LIT_CHARS -p]}, {[LIT_CHARS --prune]}, {[LIT_CHARS --no-prune]}], [{[LIT_CHARS -k]}, {[LIT_CHARS --keep]}, {[LIT_CHARS --no-keep]}], [{[LIT_CHARS --depth] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --no-depth]}], [{[LIT_CHARS --unshallow]}, {[LIT_CHARS --no-unshallow]}], [{[LIT_CHARS --update-shallow]}, {[LIT_CHARS --no-update-shallow]}], [{[LIT_CHARS --refmap] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --no-refmap]}], [{[LIT_CHARS -h]}, {[LIT_CHARS --help-all]}], [{[LIT_CHARS --]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('verbosity', {[DQ [VarSub verbosity][LIT_CHARS " -q"]]})]) (= scope= flags=0 words=[] bindings=[('verbosity', {[DQ [VarSub verbosity][LIT_CHARS " -v"]]})]) (= scope= flags=0 words=[] bindings=[('progress', {[LIT_CHARS --progress]})]) (= scope= flags=0 words=[] bindings=[('progress', {[LIT_CHARS --no-progress]})]) (= scope= flags=0 words=[] bindings=[('diffstat', {[LIT_CHARS --no-stat]})]) (= scope= flags=0 words=[] bindings=[('diffstat', {[LIT_CHARS --stat]})]) (= scope= flags=0 words=[] bindings=[('log_arg', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('no_commit', {[LIT_CHARS --no-commit]})]) (= scope= flags=0 words=[] bindings=[('no_commit', {[LIT_CHARS --commit]})]) (= scope= flags=0 words=[] bindings=[('edit', {[LIT_CHARS --edit]})]) (= scope= flags=0 words=[] bindings=[('edit', {[LIT_CHARS --no-edit]})]) (= scope= flags=0 words=[] bindings=[('squash', {[LIT_CHARS --squash]})]) (= scope= flags=0 words=[] bindings=[('squash', {[LIT_CHARS --no-squash]})]) (= scope= flags=0 words=[] bindings=[('no_ff', {[LIT_CHARS --ff]})]) (= scope= flags=0 words=[] bindings=[('no_ff', {[LIT_CHARS --no-ff]})]) (= scope= flags=0 words=[] bindings=[('ff_only', {[LIT_CHARS --ff-only]})]) (= scope= flags=0 words=[] bindings=[('strategy_args', {[DQ [VarSub strategy_args][LIT_CHARS " "][VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('merge_args', {[DQ [VarSub merge_args][LIT_CHARS " "][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [VarSub 1]]})]]})]) (= scope= flags=0 words=[] bindings=[('rebase', {[DQ [VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "*="]}]]]})]) (= scope= flags=0 words=[] bindings=[('rebase', {[LIT_CHARS true]})]) (= scope= flags=0 words=[] bindings=[('rebase', {[LIT_CHARS false]})]) (= scope= flags=0 words=[] bindings=[('recurse_submodules', {[LIT_CHARS --recurse-submodules]})]) (= scope= flags=0 words=[] bindings=[('recurse_submodules', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('recurse_submodules', {[LIT_CHARS --no-recurse-submodules]})]) (= scope= flags=0 words=[] bindings=[('verify_signatures', {[LIT_CHARS --verify-signatures]})]) (= scope= flags=0 words=[] bindings=[('verify_signatures', {[LIT_CHARS --no-verify-signatures]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_args', {[LIT_CHARS -S]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_args', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [LIT_CHARS -S][VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "--gpg-sign="]}]]]})]})]) (= scope= flags=0 words=[] bindings=[('gpg_sign_args', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --sq-quote]} {[DQ [VarSub 1]]})]})]) (= scope= flags=0 words=[] bindings=[('dry_run', {[LIT_CHARS --dry-run]})]) (= scope= flags=0 words=[] bindings=[('all', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('append', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('upload_pack', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('force', {[DQ [VarSub force][LIT_CHARS " "][VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('tags', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('prune', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('keep', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('depth', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('unshallow', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('update_shallow', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('refmap', {[VarSub 1]})]) (Com {[LIT_CHARS usage]}) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS usage]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[DQ [VarSub rebase]]}, pat_word_list=[[{[LIT_CHARS preserve]}], [{[LIT_CHARS true]}, {[LIT_CHARS false]}, {[SQ ]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('rebase', {[LIT_CHARS true]})]) (= scope= flags=0 words=[] bindings=[('rebase_args', {[LIT_CHARS --preserve-merges]})]) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid value for --rebase, should be true, false, or preserve"]]}) (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef error_on_no_merge_candidates [] (List (Com {[LIT_CHARS exec]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS true]} {[LIT_OTHER "="]} {[DQ [VarSub rebase]]}) (List (= scope= flags=0 words=[] bindings=[('op_type', {[LIT_CHARS rebase]})]) (= scope= flags=0 words=[] bindings=[('op_prep', {[LIT_CHARS against]})]) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('op_type', {[LIT_CHARS merge]})]) (= scope= flags=0 words=[] bindings=[('op_prep', {[LIT_CHARS with]})]) ) ) (= scope= flags=0 words=[] bindings=[('upstream', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[DQ [LIT_CHARS branch.][VarSub curr_branch_short][LIT_CHARS .merge]]})]})]) (= scope= flags=0 words=[] bindings=[('remote', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[DQ [LIT_CHARS branch.][VarSub curr_branch_short][LIT_CHARS .remote]]})]})]) (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (If (Com {[LIT_OTHER "["]} {[DQ [VarSub rebase]]} {[LIT_OTHER "="]} {[LIT_CHARS true]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "There is no candidate for rebasing against "]]}) (ElseTrue) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "There are no candidates for merging "]]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "among the refs that you just fetched."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Generally this means that you provided a wildcard refspec which had no"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "matches on the remote end."]]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[DQ [VarSub 1]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub remote]]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You asked to pull from the remote '"][VarSub 1][LIT_CHARS "', but did not specify"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "a branch. Because this is not the default configured remote"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "for your current branch, you must specify a branch on the command line."]]}) ) (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub curr_branch]]} {[LIT_CHARS -o]} {[LIT_CHARS -z]} {[DQ [VarSub upstream]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS .]} {[LIT_CHARS git-parse-remote]}) (Com {[LIT_CHARS error_on_missing_default_upstream]} {[DQ [LIT_CHARS pull]]} {[VarSub op_type]} {[VarSub op_prep]} {[DQ [LIT_CHARS "git pull "]]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Your configuration specifies to "][VarSub op_type][LIT_CHARS " "][VarSub op_prep][LIT_CHARS " the ref '"][VarSub upstream transform_ops=[VS_UNARY_POUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS heads] [LIT_SLASH /]}]][LIT_CHARS "'"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "from the remote, but no such ref was fetched."]]}) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS true]} {[LIT_OTHER "="]} {[DQ [VarSub rebase]]}) (List (If (Pipeline! (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS -q]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-path]} {[LIT_CHARS index]})]]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "updating an unborn branch with changes added to the index"]]})]]}) ) (ElseTrue) (Com {[LIT_CHARS require_clean_work_tree]} {[DQ [LIT_CHARS "pull with rebase"]]} {[DQ [LIT_CHARS "Please commit or stash them."]]}) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('oldremoteref', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub curr_branch]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS .]} {[LIT_CHARS git-parse-remote]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('remoteref', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS get_remote_merge_branch]} {[DQ [VarSub @]]})]]})]) (= scope= flags=0 words=[] bindings=[('oldremoteref', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS merge-base]} {[LIT_CHARS --fork-point]} {[DQ [VarSub remoteref]]} {[VarSub curr_branch]})]})]) ) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('orig_head', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS -q]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS fetch]} {[VarSub verbosity]} {[VarSub progress]} {[VarSub dry_run]} {[VarSub recurse_submodules]} {[VarSub all]} {[VarSub append]} {[VarSub upload_pack test_op=VS_TEST_COLON_PLUS {[DQ [VarSub upload_pack]]}]} {[VarSub force]} {[VarSub tags]} {[VarSub prune]} {[VarSub keep]} {[VarSub depth]} {[VarSub unshallow]} {[VarSub update_shallow]} {[VarSub refmap]} {[LIT_CHARS --update-head-ok]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub dry_run]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (= scope= flags=0 words=[] bindings=[('curr_head', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS -q]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub orig_head]]}) (Com {[LIT_CHARS test]} {[DQ [VarSub curr_head]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub orig_head]]}) ) (List (Com {[LIT_CHARS eval_gettextln]} {[DQ [LIT_CHARS "Warning: fetch updated the current branch head.\n"][LIT_CHARS "Warning: fast-forwarding your working tree from\n"][LIT_CHARS "Warning: commit "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS orig_head.]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS update-index]} {[LIT_CHARS -q]} {[LIT_CHARS --refresh]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -u]} {[LIT_CHARS -m]} {[DQ [VarSub orig_head]]} {[DQ [VarSub curr_head]]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS eval_gettext]} {[DQ [LIT_CHARS "Cannot fast-forward your working tree.\n"][LIT_CHARS "After making sure that you saved anything precious from\n"][LIT_OTHER "$"][LIT_CHARS " git diff "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "orig_head\n"][LIT_CHARS "output, run\n"][LIT_OTHER "$"][LIT_CHARS " git reset --hard\n"][LIT_CHARS "to recover."]]})]]}) ) ) ) (= scope= flags=0 words=[] bindings=[('merge_head', {[ComSub (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub GIT_DIR]] [LIT_CHARS /FETCH_HEAD]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]})]) (Case to_match={[DQ [VarSub merge_head]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "?"] [LIT_OTHER "*"] [SQ ] [LIT_OTHER "?"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS error_on_no_merge_candidates]} {[DQ [VarSub @]]}) (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub orig_head]]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Cannot merge multiple branches into empty head"]]})]]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS true]} {[LIT_OTHER "="]} {[DQ [VarSub rebase]]}) (Com {[LIT_CHARS die]} {[DQ [ComSub (Com {[LIT_CHARS gettext]} {[DQ [LIT_CHARS "Cannot rebase onto multiple branches"]]})]]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub orig_head]]}) (List (= scope= flags=0 words=[] bindings=[('empty_tree', {[LIT_CHARS 4b825dc642cb6eb9a060e54bf8d69288fbee4904]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -m]} {[LIT_CHARS -u]} {[VarSub empty_tree]} {[VarSub merge_head]}) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "initial pull"]]} {[LIT_CHARS HEAD]} {[VarSub merge_head]} {[DQ [VarSub curr_head]]}) ) (Com {[LIT_CHARS exit]}) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS true]} {[LIT_OTHER "="]} {[DQ [VarSub rebase]]}) (List (= scope= flags=0 words=[] bindings=[('o', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS show-branch]} {[LIT_CHARS --merge-base]} {[VarSub curr_branch]} {[VarSub merge_head]} {[VarSub oldremoteref]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub oldremoteref]]} {[LIT_OTHER "="]} {[DQ [VarSub o]]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS oldremoteref]}) ) ) ) (Case to_match={[DQ [VarSub rebase]]}, pat_word_list=[[{[LIT_CHARS true]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('eval', {[DQ [LIT_CHARS "git-rebase "][VarSub diffstat][LIT_CHARS " "][VarSub strategy_args][LIT_CHARS " "][VarSub merge_args][LIT_CHARS " "][VarSub rebase_args][LIT_CHARS " "][VarSub verbosity]]})]) (= scope= flags=0 words=[] bindings=[('eval', {[DQ [VarSub eval][LIT_CHARS " "][VarSub gpg_sign_args]]})]) (= scope= flags=0 words=[] bindings=[('eval', {[DQ [VarSub eval][LIT_CHARS " --onto "][VarSub merge_head][LIT_CHARS " "][VarSub oldremoteref test_op=VS_TEST_COLON_HYPHEN {[VarSub merge_head]}]]})]) ) (List (= scope= flags=0 words=[] bindings=[('eval', {[DQ [LIT_CHARS "git-merge "][VarSub diffstat][LIT_CHARS " "][VarSub no_commit][LIT_CHARS " "][VarSub verify_signatures][LIT_CHARS " "][VarSub edit][LIT_CHARS " "][VarSub squash][LIT_CHARS " "][VarSub no_ff][LIT_CHARS " "][VarSub ff_only]]})]) (= scope= flags=0 words=[] bindings=[('eval', {[DQ [VarSub eval][LIT_CHARS " "][VarSub log_arg][LIT_CHARS " "][VarSub strategy_args][LIT_CHARS " "][VarSub merge_args][LIT_CHARS " "][VarSub verbosity][LIT_CHARS " "][VarSub progress]]})]) (= scope= flags=0 words=[] bindings=[('eval', {[DQ [VarSub eval][LIT_CHARS " "][VarSub gpg_sign_args]]})]) (= scope= flags=0 words=[] bindings=[('eval', {[DQ [VarSub eval][LIT_CHARS " FETCH_HEAD"]]})]) ) ) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "exec "][VarSub eval]]}) )