(List (Com {[LIT_CHARS unset]} {[LIT_CHARS CDPATH]}) (= scope= flags=0 words=[] bindings=[('OPTIONS_SPEC', {[DQ [LIT_CHARS "git-clone [options] [--] []\n"][LIT_CHARS "--\n"][LIT_CHARS "n,no-checkout don't create a checkout\n"][LIT_CHARS "bare create a bare repository\n"][LIT_CHARS "naked create a bare repository\n"][LIT_CHARS "l,local to clone from a local repository\n"][LIT_CHARS "no-hardlinks don't use local hardlinks, always copy\n"][LIT_CHARS "s,shared setup as a shared repository\n"][LIT_CHARS "template= path to the template directory\n"][LIT_CHARS "q,quiet be quiet\n"][LIT_CHARS "reference= reference repository\n"][LIT_CHARS "o,origin= use instead of 'origin' to track upstream\n"][LIT_CHARS "u,upload-pack= path to git-upload-pack on the remote\n"][LIT_CHARS "depth= create a shallow clone of that depth\n"][LIT_CHARS "\n"][LIT_CHARS "use-separate-remote compatibility, do not use\n"][LIT_CHARS "no-separate-remote compatibility, do not use"]]})]) (FunctionDef die [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef usage [] (Com {[LIT_CHARS exec]} {[DQ [VarSub 0]]} {[LIT_CHARS -h]}) ) (Com {[LIT_CHARS eval]} {[DQ [ComSub (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub OPTIONS_SPEC]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --parseopt]} {[LIT_CHARS --]} {[DQ [VarSub @]]}) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS exit]} {[VarSub ?]}) )]]}) (FunctionDef get_repo_base [] (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS /bin/pwd]})]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1][LIT_CHARS .git]]}) (List (Com {[LIT_CHARS cd]} {[LIT_CHARS .git]}) (Com {[LIT_CHARS pwd]}) ) ) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_SSL_NO_VERIFY]]} {[LIT_CHARS -o]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS http.sslVerify]})]]} {[LIT_OTHER "="]} {[LIT_CHARS false]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('curl_extra_args', {[DQ [LIT_CHARS -k]]})]) ) (FunctionDef http_fetch [] (List (Com {[LIT_CHARS curl]} {[LIT_CHARS -nsfL]} {[VarSub curl_extra_args]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[DQ [VarSub 2]]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('curl_exit_status', {[VarSub ?]})]) (Case to_match={[VarSub curl_exit_status]}, pat_word_list=[[{[LIT_CHARS 126]}, {[LIT_CHARS 127]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS exit]}) (Com {[LIT_CHARS return]} {[VarSub curl_exit_status]}) ) ) ) (FunctionDef clone_dumb_http [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 2]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('clone_tmp', {[DQ [VarSub GIT_DIR][LIT_CHARS /clone-tmp]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub clone_tmp]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (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=[('curl_extra_args', {[DQ [VarSub curl_extra_args][LIT_CHARS " --disable-epsv"]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS http_fetch]} {[DQ [VarSub 1][LIT_CHARS /info/refs]]} {[DQ [VarSub clone_tmp][LIT_CHARS /refs]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Cannot get remote repository information.\n"][LIT_CHARS "Perhaps git-update-server-info needs to be run there?"]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS z][VarSub quiet]]} {[LIT_OTHER "="]} {[LIT_CHARS z]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('v', {[LIT_CHARS -v]})]) (= scope= flags=0 words=[] bindings=[('v', {[SQ ]})]) ) ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} {[LIT_CHARS refname]}) (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('name', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub refname]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (Case to_match={[DQ [VarSub name]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER "^"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) ) ) (Case to_match={[DQ [VarSub bare][LIT_CHARS ","][VarSub name]]}, pat_word_list=[[{[LIT_CHARS yes] [LIT_COMMA ","] [LIT_OTHER "*"]}, {[LIT_COMMA ","] [LIT_CHARS heads/] [LIT_OTHER "*"]}, {[LIT_COMMA ","] [LIT_CHARS tags/] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS continue]}) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub use_separate_remote]]}) (= scope= flags=0 words=[] bindings=[('branch_name', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub name]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) ) (= scope= flags=0 words=[] bindings=[('tname', {[DQ [LIT_CHARS remotes/][VarSub origin][LIT_CHARS /][VarSub branch_name]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('tname', {[VarSub name]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git-http-fetch]} {[VarSub v]} {[LIT_CHARS -a]} {[LIT_CHARS -w]} {[DQ [VarSub tname]]} {[DQ [VarSub sha1]]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub clone_tmp]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS http_fetch]} {[DQ [VarSub 1][LIT_CHARS /HEAD]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) (List (= scope= flags=0 words=[] bindings=[('head_sha1', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]})]})]) (Case to_match={[DQ [VarSub head_sha1]]}, pat_word_list=[[{[SQ ] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (AndOr OP_OR_IF (Com {[LIT_CHARS git-http-fetch]} {[VarSub v]} {[LIT_CHARS -a]} {[DQ [VarSub head_sha1]]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) ) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('quiet', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('local', {[LIT_CHARS no]})]) (= scope= flags=0 words=[] bindings=[('use_local_hardlink', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('local_shared', {[LIT_CHARS no]})]) (Com {[LIT_CHARS unset]} {[LIT_CHARS template]}) (= scope= flags=0 words=[] bindings=[('no_checkout', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('upload_pack', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('bare', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('reference', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('origin', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('origin_override', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('use_separate_remote', {[LIT_CHARS t]})]) (= scope= flags=0 words=[] bindings=[('depth', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('no_progress', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('local_explicitly_asked_for', {[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]})]) ) (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 -n]}, {[LIT_CHARS --no-checkout]}], [{[LIT_CHARS --naked]}, {[LIT_CHARS --bare]}], [{[LIT_CHARS -l]}, {[LIT_CHARS --local]}], [{[LIT_CHARS --no-hardlinks]}], [{[LIT_CHARS -s]}, {[LIT_CHARS --shared]}], [{[LIT_CHARS --template]}], [{[LIT_CHARS -q]}, {[LIT_CHARS --quiet]}], [{[LIT_CHARS --use-separate-remote]}, {[LIT_CHARS --no-separate-remote]}], [{[LIT_CHARS --reference]}], [{[LIT_CHARS -o]}, {[LIT_CHARS --origin]}], [{[LIT_CHARS -u]}, {[LIT_CHARS --upload-pack]}], [{[LIT_CHARS --depth]}], [{[LIT_CHARS --]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('no_checkout', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('bare', {[LIT_CHARS yes]})]) (List (= scope= flags=0 words=[] bindings=[('local_explicitly_asked_for', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('use_local_hardlink', {[LIT_CHARS yes]})]) ) (= scope= flags=0 words=[] bindings=[('use_local_hardlink', {[LIT_CHARS no]})]) (= scope= flags=0 words=[] bindings=[('local_shared', {[LIT_CHARS yes]})]) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('template', {[DQ [LIT_CHARS "--template="][VarSub 1]]})]) ) (= scope= flags=0 words=[] bindings=[('quiet', {[LIT_CHARS -q]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "clones are always made with separate-remote layout"]]}) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('reference', {[DQ [VarSub 1]]})]) ) (List (Com {[LIT_CHARS shift]}) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "'"][VarSub 1][LIT_CHARS "' is not suitable for an origin name"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS check-ref-format]} {[DQ [LIT_CHARS heads/][VarSub 1]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "'"][VarSub 1][LIT_CHARS "' is not suitable for a branch name"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub origin_override]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Do not give more than one --origin options."]]}) ) (= scope= flags=0 words=[] bindings=[('origin_override', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('origin', {[DQ [VarSub 1]]})]) ) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('upload_pack', {[DQ [LIT_CHARS "--upload-pack="][VarSub 1]]})]) ) (List (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('depth', {[DQ [LIT_CHARS "--depth="][VarSub 1]]})]) ) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS usage]}) ) (Com {[LIT_CHARS shift]}) ) ) (= scope= flags=0 words=[] bindings=[('repo', {[DQ [VarSub 1]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub repo]]}) (Com {[LIT_CHARS die]} {[SQ ]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS yes]} {[LIT_OTHER "="]} {[DQ [VarSub bare]]}) (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS yes]} {[LIT_OTHER "="]} {[DQ [VarSub origin_override]]}) (Com {[LIT_CHARS die]} {[SQ ]}) ) (= scope= flags=0 words=[] bindings=[('no_checkout', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('use_separate_remote', {[SQ ]})]) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub origin]]}) (= scope= flags=0 words=[] bindings=[('origin', {[LIT_CHARS origin]})]) ) (If (= scope= flags=0 words=[] bindings=[('base', {[ComSub (Com {[LIT_CHARS get_repo_base]} {[DQ [VarSub repo]]})]})]) (List (= scope= flags=0 words=[] bindings=[('repo', {[DQ [VarSub base]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub depth]]}) (= scope= flags=0 words=[] bindings=[('local', {[LIT_CHARS yes]})]) ) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub repo]]}) (Case to_match={[DQ [VarSub repo]]}, pat_word_list=[[{[LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (= scope= flags=0 words=[] bindings=[('repo', {[DQ [VarSub PWD][LIT_CHARS /][VarSub repo]]})]) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub 2]]}) (List (= scope= flags=0 words=[] bindings=[('dir', {[DQ [VarSub 2]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "="]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "excess parameter to git-clone"]]}) ) ) (ElseTrue) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub repo]]}) (= scope= flags=0 words=[] bindings=[('dir', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub repo]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('dir', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub repo]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub dir]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "destination directory '"][VarSub dir][LIT_CHARS "' already exists."]]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS yes]} {[LIT_OTHER "="]} {[DQ [VarSub bare]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS GIT_WORK_TREE]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_WORK_TREE]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub GIT_WORK_TREE]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "working tree '"][VarSub GIT_WORK_TREE][LIT_CHARS "' already exists."]]}) ) ) (= scope= flags=0 words=[] bindings=[('D', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('W', {[SQ ]})]) (FunctionDef cleanup [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub D]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub dir]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub W]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_WORK_TREE]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub GIT_WORK_TREE]]}) ) ) (Com {[LIT_CHARS cd]} {[LIT_CHARS ..]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub D]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub D]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub W]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub W]]}) ) (Com {[LIT_CHARS exit]} {[VarSub err]}) ) ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub dir]]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('D', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS pwd]}) )]})]) (Com {[LIT_CHARS usage]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_WORK_TREE]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub GIT_WORK_TREE]]}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('W', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub GIT_WORK_TREE]]}) (Com {[LIT_CHARS pwd]}) )]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('GIT_WORK_TREE', {[DQ [VarSub W]]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_WORK_TREE]}] bindings=[]) ) ) ) ) (AndOr OP_AND_IF (If (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS yes]} {[LIT_OTHER "="]} {[DQ [VarSub bare]]}) (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_WORK_TREE]]}) ) (= scope= flags=0 words=[] bindings=[('GIT_DIR', {[DQ [VarSub D]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('GIT_DIR', {[DQ [VarSub D][LIT_CHARS /.git]]})]) ) (AndOr OP_AND_IF (= scope= flags=1 words=[{[LIT_CHARS GIT_DIR]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS git-init]} {[VarSub quiet]} {[VarSub template test_op=VS_TEST_PLUS {[DQ [VarSub template]]}]} more_env=[('GIT_CONFIG', {[DQ [VarSub GIT_DIR][LIT_CHARS /config]]})] ) (Com {[LIT_CHARS usage]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub bare]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS core.bare]} {[LIT_CHARS true]} more_env=[('GIT_CONFIG', {[DQ [VarSub GIT_DIR][LIT_CHARS /config]]})] ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub reference]]}) (List (= scope= flags=0 words=[] bindings=[('ref_git', {[SQ ]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub reference]]}) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub reference][LIT_CHARS /.git/objects]]}) (= scope= flags=0 words=[] bindings=[('ref_git', {[DQ [VarSub reference][LIT_CHARS /.git]]})]) (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub reference][LIT_CHARS /objects]]}) (= scope= flags=0 words=[] bindings=[('ref_git', {[DQ [VarSub reference]]})]) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub ref_git]]}) (List (= scope= flags=0 words=[] bindings=[('ref_git', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub ref_git]]}) (Com {[LIT_CHARS pwd]}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub ref_git][LIT_CHARS /objects]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /objects/info/alternates]]} "> 1), > ) (Pipeline (Subshell (Com {[LIT_CHARS git]} {[LIT_CHARS for-each-ref]} {[LIT_CHARS --format] [LIT_OTHER "="] [SQ ]} more_env=[('GIT_DIR', {[DQ [VarSub ref_git]]})] ) ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS a]} {[LIT_CHARS b]}) (List (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub a]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[DQ [LIT_CHARS refs/reference-tmp/][VarSub a]]} {[DQ [VarSub a]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub b]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[DQ [LIT_CHARS refs/reference-tmp/][VarSub b]]} {[DQ [VarSub b]]}) ) ) ) ) ) (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "reference repository '"][VarSub reference][LIT_CHARS "' is not a local directory."]]}) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]}) (Case to_match={[DQ [VarSub local]]}, pat_word_list=[[{[LIT_CHARS yes]}], [{[LIT_OTHER "*"]}]] (List (AndOr OP_OR_IF (Subshell (Com {[LIT_CHARS cd]} {[DQ [VarSub repo][LIT_CHARS /objects]]}) ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "cannot chdir to local '"][VarSub repo][LIT_CHARS "/objects'."]]}) ) (If (Com {[LIT_CHARS test]} {[DQ [VarSub local_shared]]} {[LIT_OTHER "="]} {[LIT_CHARS yes]}) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub GIT_DIR][LIT_CHARS /objects/info]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub repo][LIT_CHARS /objects]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /objects/info/alternates]]} >"> 1), > ) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('cpio_quiet_flag', {[DQ ]})]) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS cpio]} {[LIT_CHARS --help]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS grep]} {[LIT_CHARS --]} {[LIT_CHARS --quiet]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('cpio_quiet_flag', {[LIT_CHARS --quiet]})]) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('l', {[SQ ]})]) (AndOr OP_AND_IF (If (Com {[LIT_CHARS test]} {[DQ [VarSub use_local_hardlink]]} {[LIT_OTHER "="]} {[LIT_CHARS yes]}) (List (= scope= flags=0 words=[] bindings=[('sample_file', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub repo]]}) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS objects]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -print]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[LIT_CHARS 1q]}) ) )]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub repo][LIT_CHARS /][VarSub sample_file]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "fatal: cannot clone empty repository"]]}) ) (If (Com {[LIT_CHARS ln]} {[DQ [VarSub repo][LIT_CHARS /][VarSub sample_file]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /objects/sample]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /objects/sample]]}) (= scope= flags=0 words=[] bindings=[('l', {[LIT_CHARS l]})]) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub local_explicitly_asked_for]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Warning: -l asked but cannot hardlink to "][VarSub repo]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub repo]]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS objects]} {[LIT_CHARS -type]} {[LIT_CHARS d]} {[LIT_CHARS -print]}) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub GIT_DIR]]}) (Com {[LIT_CHARS xargs]} {[LIT_CHARS mkdir]} {[LIT_CHARS -p]}) ) ) ) (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS objects]} {[LIT_OTHER "!"]} {[LIT_CHARS -type]} {[LIT_CHARS d]} {[LIT_CHARS -print]}) (Com {[LIT_CHARS cpio]} {[VarSub cpio_quiet_flag]} {[LIT_CHARS -pumd] [VarSub l]} {[DQ [VarSub GIT_DIR][LIT_CHARS /]]}) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git-ls-remote]} {[DQ [VarSub repo]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Case to_match={[DQ [VarSub repo]]}, pat_word_list=[[{[LIT_CHARS rsync] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}], [{[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}, {[LIT_CHARS ftp] [LIT_OTHER ":"] [LIT_CHARS //] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[DQ [VarSub depth]]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "shallow over rsync not supported"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[VarSub quiet]} {[LIT_CHARS -av]} {[LIT_CHARS --ignore-existing]} {[LIT_CHARS --exclude]} {[LIT_CHARS info]} {[DQ [VarSub repo][LIT_CHARS /objects/]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /objects/]]}) (Com {[LIT_CHARS exit]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS rsync]} {[LIT_CHARS -q]} {[DQ [VarSub repo][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 (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub D]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS .]} {[LIT_CHARS git-parse-remote]}) (Com {[LIT_CHARS resolve_alternates]} {[DQ [VarSub repo]]} < (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]]}) ) (Case to_match={[DQ [VarSub quiet]]}, pat_word_list=[[{[SQ ]}]] (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]} {[VarSub quiet]} {[LIT_CHARS -av]} {[LIT_CHARS --ignore-existing]} {[LIT_CHARS --exclude]} {[LIT_CHARS info]} {[DQ [VarSub alt]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /objects]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /TMP_ALT]]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git-ls-remote]} {[DQ [VarSub repo]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (List (Case to_match={[DQ [VarSub depth]]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "shallow over http or ftp not supported"]]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [LIT_CHARS "@@NO_CURL@@"]]}) (Com {[LIT_CHARS clone_dumb_http]} {[DQ [VarSub repo]]} {[DQ [VarSub D]]}) (ElseTrue) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "http transport not supported, rebuild Git with curl support"]]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub repo]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS bundle]} {[LIT_CHARS unbundle]} {[DQ [VarSub repo]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]} "> 1), > ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "unbundle from '"][VarSub repo][LIT_CHARS "' failed."]]}) ) (ElseTrue) (AndOr OP_OR_IF (Case to_match={[DQ [VarSub upload_pack]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS git-fetch-pack]} {[LIT_CHARS --all]} {[LIT_CHARS -k]} {[VarSub quiet]} {[VarSub depth]} {[VarSub no_progress]} {[DQ [VarSub repo]]}) (Com {[LIT_CHARS git-fetch-pack]} {[LIT_CHARS --all]} {[LIT_CHARS -k]} {[VarSub quiet]} {[DQ [VarSub upload_pack]]} {[VarSub depth]} {[VarSub no_progress]} {[DQ [VarSub repo]]}) ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "fetch-pack from '"][VarSub repo][LIT_CHARS "' failed."]]}) ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub GIT_DIR][LIT_CHARS /refs/reference-tmp]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[DQ [VarSub GIT_DIR][LIT_CHARS /refs/reference-tmp]]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]}) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub use_separate_remote]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('branch_top', {[DQ [LIT_CHARS remotes/][VarSub origin]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('branch_top', {[DQ [LIT_CHARS heads]]})]) ) (= scope= flags=0 words=[] bindings=[('tag_top', {[DQ [LIT_CHARS tags]]})]) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} {[LIT_CHARS name]}) (List (Case to_match={[DQ [VarSub name]]}, pat_word_list=[[{[LIT_OTHER "*"] [SQ ]}], [{[LIT_CHARS HEAD]}], [{[LIT_CHARS refs/heads/] [LIT_OTHER "*"]}], [{[LIT_CHARS refs/tags/] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) (= scope= flags=0 words=[] bindings=[('destname', {[DQ [LIT_CHARS REMOTE_HEAD]]})]) (= scope= flags=0 words=[] bindings=[('destname', {[DQ [LIT_CHARS refs/][VarSub branch_top][LIT_CHARS /][VarSub name transform_ops=[VS_UNARY_POUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS heads] [LIT_SLASH /]}]]]})]) (= scope= flags=0 words=[] bindings=[('destname', {[DQ [LIT_CHARS refs/][VarSub tag_top][LIT_CHARS /][VarSub name transform_ops=[VS_UNARY_POUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS tags] [LIT_SLASH /]}]]]})]) (Com {[LIT_CHARS continue]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "clone: from "][VarSub repo]]} {[DQ [VarSub destname]]} {[DQ [VarSub sha1]]} {[DQ ]}) ) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub W]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub W]]}) (Com {[LIT_CHARS exit]}) ) (ElseTrue) (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub D]]}) (Com {[LIT_CHARS exit]}) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub bare]]}) (List (= scope= flags=0 words=[] bindings=[('remote_top', {[DQ [LIT_CHARS refs/remotes/][VarSub origin]]})]) (= scope= flags=0 words=[] bindings=[('head_sha1', {[SQ ]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -r]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) (= scope= flags=0 words=[] bindings=[('head_sha1', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]})]})]) ) (Case to_match={[DQ [VarSub head_sha1]]}, pat_word_list=[[{[SQ ] [LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('head_sha1', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [LIT_CHARS z][VarSub head_sha1]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('head_sha1', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub GIT_DIR][LIT_CHARS /][VarSub remote_top][LIT_CHARS /][VarSub head_sha1]]})]})]) ) ) (= scope= flags=0 words=[] bindings=[('head_points_at', {[ComSub (Pipeline (Subshell (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /][VarSub remote_top][LIT_CHARS /master]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS master]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub GIT_DIR][LIT_CHARS /][VarSub remote_top]]}) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS .]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -print]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) ) ) ) ) (Subshell (List (= scope= flags=0 words=[] bindings=[('done', {[LIT_CHARS f]})]) (While (Com {[LIT_CHARS read]} {[LIT_CHARS name]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS t]} {[LIT_OTHER "="]} {[VarSub done]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('branch_tip', {[ComSub (Com {[LIT_CHARS cat]} {[DQ [VarSub GIT_DIR][LIT_CHARS /][VarSub remote_top][LIT_CHARS /][VarSub name]]})]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub head_sha1]]} {[LIT_OTHER "="]} {[DQ [VarSub branch_tip]]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub name]]}) (= scope= flags=0 words=[] bindings=[('done', {[LIT_CHARS t]})]) ) ) ) ) ) ) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS remote.] [DQ [VarSub origin]] [LIT_CHARS .url]} {[DQ [VarSub repo]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS remote.] [DQ [VarSub origin]] [LIT_CHARS .fetch]} {[DQ [LIT_CHARS "+refs/heads/*:"][VarSub remote_top][LIT_CHARS "/*"]]} {[SQ ]}) (Case to_match={[DQ [VarSub head_points_at]]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}], [{[SQ ]}]] (List (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[LIT_CHARS HEAD]} {[DQ [LIT_CHARS refs/heads/][VarSub head_points_at]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS HEAD]} {[DQ [VarSub head_sha1]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [LIT_CHARS refs/remotes/][VarSub origin][LIT_CHARS /HEAD]]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[DQ [LIT_CHARS refs/remotes/][VarSub origin][LIT_CHARS /HEAD]]} {[DQ [LIT_CHARS refs/remotes/][VarSub origin][LIT_CHARS /][VarSub head_points_at]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS branch.] [DQ [VarSub head_points_at]] [LIT_CHARS .remote]} {[DQ [VarSub origin]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS branch.] [DQ [VarSub head_points_at]] [LIT_CHARS .merge]} {[DQ [LIT_CHARS refs/heads/][VarSub head_points_at]]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub head_sha1]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Warning: Remote HEAD refers to nonexistent ref, unable to checkout."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('no_checkout', {[LIT_CHARS t]})]) ) (ElseTrue) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS --no-deref]} {[LIT_CHARS HEAD]} {[DQ [VarSub head_sha1]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [LIT_CHARS refs/remotes/][VarSub origin][LIT_CHARS /HEAD]]}) ) ) ) ) ) (Case to_match={[DQ [VarSub no_checkout]]}, pat_word_list=[[{[SQ ]}]] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS z][VarSub quiet]]} {[LIT_OTHER "="]} {[LIT_CHARS z]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS z][VarSub no_progress]]} {[LIT_OTHER "="]} {[LIT_CHARS z]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('v', {[LIT_CHARS -v]})]) (= scope= flags=0 words=[] bindings=[('v', {[SQ ]})]) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -m]} {[LIT_CHARS -u]} {[VarSub v]} {[LIT_CHARS HEAD]} {[LIT_CHARS HEAD]}) ) ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /CLONE_HEAD]]} {[DQ [VarSub GIT_DIR][LIT_CHARS /REMOTE_HEAD]]}) (Com {[LIT_CHARS trap]} {[LIT_CHARS -]} {[LIT_CHARS 0]}) )