(List (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ...">]})]) (= scope= flags=0 words=[] bindings=[('SUBDIRECTORY_OK', {[LIT_CHARS Yes]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-setup]}) (Com {[LIT_CHARS set_reflog_action]} {[DQ [LIT_CHARS "fetch "][VarSub *]]}) (Com {[LIT_CHARS cd_to_toplevel]}) (Com {[LIT_CHARS .]} {[LIT_CHARS git-parse-remote]}) (= scope= flags=0 words=[] bindings=[('_x40', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('_x40', {[DQ [VarSub _x40][VarSub _x40][VarSub _x40][VarSub _x40][VarSub _x40][VarSub _x40][VarSub _x40][VarSub _x40]]})]) (= scope= flags=0 words=[] bindings=[('LF', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [VarSub LF]]})]) (= scope= flags=0 words=[] bindings=[('no_tags', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('tags', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('append', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('force', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('update_head_ok', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('exec', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('keep', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('shallow_depth', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('no_progress', {[SQ ]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -t]} {[LIT_CHARS 1]}) (= scope= flags=0 words=[] bindings=[('no_progress', {[LIT_CHARS --no-progress]})]) ) (= scope= flags=0 words=[] bindings=[('quiet', {[SQ ]})]) (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 -a]}, {[LIT_CHARS --a]}, {[LIT_CHARS --ap]}, {[LIT_CHARS --app]}, {[LIT_CHARS --appe]}, {[LIT_CHARS --appen]}, {[LIT_CHARS --append]}], [{[LIT_CHARS --upl]}, {[LIT_CHARS --uplo]}, {[LIT_CHARS --uploa]}, {[LIT_CHARS --upload]}, {[LIT_CHARS --upload-]}, {[LIT_CHARS --upload-p]}, {[LIT_CHARS --upload-pa]}, {[LIT_CHARS --upload-pac]}, {[LIT_CHARS --upload-pack]}], [{[LIT_CHARS --upl] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --uplo] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --uploa] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload-] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload-p] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload-pa] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload-pac] [LIT_OTHER "="] [LIT_OTHER "*"]}, {[LIT_CHARS --upload-pack] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -f]}, {[LIT_CHARS --f]}, {[LIT_CHARS --fo]}, {[LIT_CHARS --for]}, {[LIT_CHARS --forc]}, {[LIT_CHARS --force]}], [{[LIT_CHARS -t]}, {[LIT_CHARS --t]}, {[LIT_CHARS --ta]}, {[LIT_CHARS --tag]}, {[LIT_CHARS --tags]}], [{[LIT_CHARS -n]}, {[LIT_CHARS --n]}, {[LIT_CHARS --no]}, {[LIT_CHARS --no-]}, {[LIT_CHARS --no-t]}, {[LIT_CHARS --no-ta]}, {[LIT_CHARS --no-tag]}, {[LIT_CHARS --no-tags]}], [{[LIT_CHARS -u]}, {[LIT_CHARS --u]}, {[LIT_CHARS --up]}, {[LIT_CHARS --upd]}, {[LIT_CHARS --upda]}, {[LIT_CHARS --updat]}, {[LIT_CHARS --update]}, {[LIT_CHARS --update-]}, {[LIT_CHARS --update-h]}, {[LIT_CHARS --update-he]}, {[LIT_CHARS --update-hea]}, {[LIT_CHARS --update-head]}, {[LIT_CHARS --update-head-]}, {[LIT_CHARS --update-head-o]}, {[LIT_CHARS --update-head-ok]}], [{[LIT_CHARS -q]}, {[LIT_CHARS --q]}, {[LIT_CHARS --qu]}, {[LIT_CHARS --qui]}, {[LIT_CHARS --quie]}, {[LIT_CHARS --quiet]}], [{[LIT_CHARS -v]}, {[LIT_CHARS --verbose]}], [{[LIT_CHARS -k]}, {[LIT_CHARS --k]}, {[LIT_CHARS --ke]}, {[LIT_CHARS --kee]}, {[LIT_CHARS --keep]}], [{[LIT_CHARS --depth] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS --depth]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('append', {[LIT_CHARS t]})]) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('exec', {[DQ [LIT_CHARS "--upload-pack="][VarSub 1]]})]) ) (List (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS --upload-pack] [LIT_OTHER "="] [ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub 1]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (Com {[LIT_CHARS shift]}) ) (= scope= flags=0 words=[] bindings=[('force', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('tags', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('no_tags', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('update_head_ok', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('quiet', {[LIT_CHARS --quiet]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[DQ [VarSub verbose]] [LIT_CHARS Yes]})]) (= scope= flags=0 words=[] bindings=[('keep', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('shallow_depth', {[DQ [LIT_CHARS "--depth="][ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub 1]]} {[LIT_OTHER ":"]} {[SQ ]})]]})]) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('shallow_depth', {[DQ [LIT_CHARS "--depth="][VarSub 1]]})]) ) (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[DQ [VarSub #]]}, pat_word_list=[[{[LIT_CHARS 0]}]] (List (= scope= flags=0 words=[] bindings=[('origin', {[ComSub (Com {[LIT_CHARS get_default_remote]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [ComSub (Com {[LIT_CHARS get_remote_url]} {[VarSub origin]})]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Where do you want to fetch from today?"]]}) ) (Com {[LIT_CHARS set]} {[LIT_CHARS x]} {[VarSub origin]}) (Com {[LIT_CHARS shift]}) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub exec]]}) (= scope= flags=0 words=[] bindings=[('exec', {[DQ [LIT_CHARS "--upload-pack="][ComSub (Com {[LIT_CHARS get_uploadpack]} {[VarSub 1]})]]})]) ) (= scope= flags=0 words=[] bindings=[('remote_nick', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('remote', {[ComSub (Com {[LIT_CHARS get_remote_url]} {[DQ [VarSub @]]})]})]) (= scope= flags=0 words=[] bindings=[('refs', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('rref', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('rsync_slurped_objects', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[DQ ]} {[LIT_OTHER "="]} {[DQ [VarSub append]]}) (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /FETCH_HEAD]]} "> 1), > ) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('ls_remote_result', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS ls-remote]} {[VarSub exec]} {[DQ [VarSub remote]]})]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Cannot get the repository state from "][VarSub remote]]}) ) (FunctionDef append_fetch_head [] (List (= scope= flags=0 words=[] bindings=[('flags', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub verbose]]}) (= scope= flags=0 words=[] bindings=[('flags', {[DQ [VarSub flags][VarSub LF][LIT_CHARS -v]]})]) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub force][VarSub single_force]]}) (= scope= flags=0 words=[] bindings=[('flags', {[DQ [VarSub flags][VarSub LF][LIT_CHARS -f]]})]) ) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[VarSub flags]} {[LIT_CHARS append-fetch-head]} {[DQ [VarSub @]]} more_env=[('GIT_REFLOG_ACTION', {[DQ [VarSub GIT_REFLOG_ACTION]]})] ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub update_head_ok]]}) (Com {[LIT_CHARS test]} {[ComSub (Com {[LIT_CHARS is_bare_repository]})]} {[LIT_OTHER "="]} {[LIT_CHARS false]}) ) (= scope= flags=0 words=[] bindings=[('orig_head', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) ) (Case to_match={[DQ [VarSub tags][VarSub no_tags]]}, pat_word_list=[[{[SQ ]}]] (Case to_match={[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --get]} {[DQ [LIT_CHARS remote.][VarSub 1][LIT_CHARS .tagopt]]})]]}, pat_word_list=[[{[LIT_CHARS --tags]}], [{[LIT_CHARS --no-tags]}]] (= scope= flags=0 words=[] bindings=[('tags', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('no_tags', {[LIT_CHARS t]})]) ) ) (= scope= flags=0 words=[] bindings=[('reflist', {[ComSub (Com {[LIT_CHARS get_remote_refs_for_fetch]} {[DQ [VarSub @]]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub tags]]}) (List (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('taglist', {[ComSub (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('IFS', {[SQ ]})]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub ls_remote_result]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS show-ref]} {[LIT_CHARS --exclude-existing] [LIT_OTHER "="] [LIT_CHARS refs/tags/]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} {[LIT_CHARS name]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS .][VarSub name][LIT_CHARS ":"][VarSub name]]}) ) ) )]})]) (Com {[LIT_CHARS exit]}) ) (If (Com {[LIT_CHARS test]} {[DQ [VarSub #]]} {[LIT_CHARS -gt]} {[LIT_CHARS 1]}) (= scope= flags=0 words=[] bindings=[('reflist', {[DQ [VarSub reflist][VarSub LF][VarSub taglist]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('reflist', {[VarSub taglist]})]) ) ) ) (FunctionDef fetch_all_at_once [] (List (= scope= flags=0 words=[] bindings=[('eval', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[LIT_CHARS parse-reflist]} {[DQ [LIT_CHARS -]]}) )]})]) (Com {[LIT_CHARS eval]} {[DQ [VarSub eval]]}) (AndOr OP_OR_IF (Subshell (List (Com {[LIT_OTHER ":"]} {[LIT_CHARS subshell]} {[LIT_CHARS because]} {[LIT_CHARS we]} {[LIT_CHARS muck]} {[LIT_CHARS with]} {[LIT_CHARS IFS]}) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [LIT_CHARS " \t"][VarSub LF]]})]) (Pipeline (Subshell (If (Com {[LIT_CHARS test]} {[DQ [VarSub remote]]} {[LIT_OTHER "="]} {[LIT_CHARS .]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS show-ref]} {[VarSub rref]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS failed]} {[DQ [VarSub remote]]}) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub remote]]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub shallow_depth]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "shallow clone with bundle is not supported"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS bundle]} {[LIT_CHARS unbundle]} {[DQ [VarSub remote]]} {[VarSub rref]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS failed]} {[DQ [VarSub remote]]}) ) ) (ElseTrue) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub remote]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /shallow]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub shallow_depth]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('theirs', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub ls_remote_result]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[LIT_CHARS -s]} {[LIT_CHARS pick-rref]} {[DQ [VarSub rref]]} {[DQ [LIT_CHARS -]]}) )]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --objects]} {[VarSub theirs]} {[LIT_CHARS --not]} {[LIT_CHARS --all]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub ls_remote_result]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[LIT_CHARS pick-rref]} {[DQ [VarSub rref]]} {[DQ [LIT_CHARS -]]}) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('flags', {[SQ ]})]) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS YesYes] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('flags', {[DQ [LIT_CHARS -v]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git-fetch-pack]} {[LIT_CHARS --thin]} {[VarSub exec]} {[VarSub keep]} {[VarSub shallow_depth]} {[VarSub quiet]} {[VarSub no_progress]} {[VarSub flags]} {[DQ [VarSub remote]]} {[VarSub rref]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS failed]} {[DQ [VarSub remote]]}) ) ) ) ) ) (Subshell (List (= scope= flags=0 words=[] bindings=[('flags', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub verbose]]}) (= scope= flags=0 words=[] bindings=[('flags', {[DQ [VarSub flags][LIT_CHARS " -v"]]})]) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub force]]}) (= scope= flags=0 words=[] bindings=[('flags', {[DQ [VarSub flags][LIT_CHARS " -f"]]})]) ) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[VarSub flags]} {[LIT_CHARS native-store]} {[DQ [VarSub remote]]} {[DQ [VarSub remote_nick]]} {[DQ [VarSub refs]]} more_env=[('GIT_REFLOG_ACTION', {[DQ [VarSub GIT_REFLOG_ACTION]]})] ) ) ) ) ) ) (Com {[LIT_CHARS exit]}) ) ) ) (FunctionDef fetch_per_ref [] (List (= scope= flags=0 words=[] bindings=[('reflist', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('refs', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('rref', {[SQ ]})]) (For ref [{[VarSub reflist]}]) (List (= scope= flags=0 words=[] bindings=[('refs', {[DQ [VarSub refs][VarSub LF][VarSub ref]]})]) (If (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (List (= scope= flags=0 words=[] bindings=[('not_for_merge', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('ref', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('not_for_merge', {[SQ ]})]) ) (If (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (List (= scope= flags=0 words=[] bindings=[('single_force', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('ref', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('single_force', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('remote_name', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('local_name', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub ref]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('rref', {[DQ [VarSub rref][VarSub LF][VarSub remote_name]]})]) (Case to_match={[DQ [VarSub remote]]}, pat_word_list=[[{[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS ftp] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}], [{[LIT_CHARS rsync] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}]] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub shallow_depth]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "shallow clone with http not supported"]]}) ) (= scope= flags=0 words=[] bindings=[('proto', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub remote]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_SSL_NO_VERIFY]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('curl_extra_args', {[DQ [LIT_CHARS -k]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_CURL_FTP_NO_EPSV]]} {[LIT_CHARS -o]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS http.noEPSV]})]]} {[LIT_OTHER "="]} {[LIT_CHARS true]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('noepsv_opt', {[DQ [LIT_CHARS --disable-epsv]]})]) ) (= scope= flags=0 words=[] bindings=[('head', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub ls_remote_result]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS fetch--tool]} {[LIT_CHARS -s]} {[LIT_CHARS pick-rref]} {[DQ [VarSub remote_name]]} {[DQ [LIT_CHARS -]]}) )]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub head]]} {[LIT_OTHER ":"]} {[DQ [LIT_CHARS z][VarSub _x40][\ LIT_ESCAPED_CHAR "\\$"]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "No such ref "][VarSub remote_name][LIT_CHARS " at "][VarSub remote]]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Fetching "][VarSub remote_name][LIT_CHARS " from "][VarSub remote][LIT_CHARS " using "][VarSub proto]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Case to_match={[DQ [VarSub quiet]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('v', {[LIT_CHARS -v]})]) (= scope= flags=0 words=[] bindings=[('v', {[SQ ]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git-http-fetch]} {[VarSub v]} {[LIT_CHARS -a]} {[DQ [VarSub head]]} {[DQ [VarSub remote]]}) (Com {[LIT_CHARS exit]}) ) ) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub shallow_depth]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "shallow clone with rsync not supported"]]}) ) (= scope= flags=0 words=[] bindings=[('TMP_HEAD', {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_HEAD]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[LIT_CHARS -L]} {[LIT_CHARS -q]} {[DQ [VarSub remote][LIT_CHARS /][VarSub remote_name]]} {[DQ [VarSub TMP_HEAD]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (= scope= flags=0 words=[] bindings=[('head', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS TMP_HEAD]})]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub TMP_HEAD]]}) (Case to_match={[DQ [VarSub quiet]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('v', {[LIT_CHARS -v]})]) (= scope= flags=0 words=[] bindings=[('v', {[SQ ]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub rsync_slurped_objects]]}) (List (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[LIT_CHARS -a]} {[VarSub v]} {[LIT_CHARS --ignore-existing]} {[LIT_CHARS --exclude]} {[LIT_CHARS info]} {[DQ [VarSub remote][LIT_CHARS /objects/]]} {[DQ [VarSub GIT_OBJECT_DIRECTORY][LIT_CHARS /]]}) (Com {[LIT_CHARS exit]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[LIT_CHARS -q]} {[DQ [VarSub remote][LIT_CHARS /objects/info/alternates]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]}) (List (Pipeline (Com {[LIT_CHARS resolve_alternates]} {[DQ [VarSub remote]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]} 0), > ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS alt]}) (List (Case to_match={[DQ [VarSub alt]]}, pat_word_list=[[{[SQ ] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS die]} {[DQ [VarSub alt]]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Getting alternate: "][VarSub alt]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[LIT_CHARS -av]} {[LIT_CHARS --ignore-existing]} {[LIT_CHARS --exclude]} {[LIT_CHARS info]} {[DQ [VarSub alt]]} {[DQ [VarSub GIT_OBJECT_DIRECTORY][LIT_CHARS /]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]}) ) ) (= scope= flags=0 words=[] bindings=[('rsync_slurped_objects', {[LIT_CHARS t]})]) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS append_fetch_head]} {[DQ [VarSub head]]} {[DQ [VarSub remote]]} {[DQ [VarSub remote_name]]} {[DQ [VarSub remote_nick]]} {[DQ [VarSub local_name]]} {[DQ [VarSub not_for_merge]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) (FunctionDef fetch_main [] (Case to_match={[DQ [VarSub remote]]}, pat_word_list=[[{[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS ftp] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS rsync] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS fetch_per_ref]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS fetch_all_at_once]} {[DQ [VarSub @]]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS fetch_main]} {[DQ [VarSub reflist]]}) (Com {[LIT_CHARS exit]}) ) (Case to_match={[DQ [VarSub no_tags][VarSub tags]]}, pat_word_list=[[{[SQ ]}]] (List (Case to_match={[DQ [VarSub reflist]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER ":"] [LIT_CHARS refs/] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('taglist', {[ComSub (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('IFS', {[SQ ]})]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub ls_remote_result]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS show-ref]} {[LIT_CHARS --exclude-existing] [LIT_OTHER "="] [LIT_CHARS refs/tags/]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} {[LIT_CHARS name]}) (List (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1) (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -t]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS continue]}) ) (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1)]{[LIT_CHARS echo]} {[DQ [LIT_CHARS "Auto-following "][VarSub name]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS .][VarSub name][LIT_CHARS ":"][VarSub name]]}) ) ) ) )]})]) ) (Case to_match={[DQ [VarSub taglist]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('shallow_depth', {[SQ ]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS fetch_main]} {[DQ [VarSub taglist]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) (Case to_match={[DQ [VarSub orig_head]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('curr_head', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub curr_head]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub orig_head]]}) (List (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -m]} {[DQ [VarSub GIT_REFLOG_ACTION][LIT_CHARS ": Undoing incorrectly fetched HEAD."]]} {[LIT_CHARS HEAD]} {[DQ [VarSub orig_head]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Cannot fetch into the current branch."]]}) ) ) ) ) )