(CommandList children: [ (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [ {(echo)} { (DQ ("usage: ") ($ VSub_Number "$0") (" [--heads] [--tags] [-u|--upload-pack <upload-pack>]") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[17])] ) (SimpleCommand words: [{(echo)} {(DQ (" <repository> <refs>..."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[29])] ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">) ] spids: [12] ) spids: [7 11] ) (FuncDef name: die body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Star "$*"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[55])] ) (C {(exit)} {(1)}) ] spids: [50] ) spids: [45 49] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:exec) op:Equal rhs:{(SQ )} spids:[70])] spids: [70] ) (While cond: [(C {(test)} {($ VSub_Pound "$#")} {(KW_Bang "!") (Lit_Other "=")} {(0)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(-h)} {(--h)} {(--he)} {(--hea)} {(--head)} {(--heads)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heads) op: Equal rhs: {(heads)} spids: [109] ) ] spids: [109] ) terminator: <Op_Semi ";"> ) (C {(shift)}) ] spids: [95 106 115 -1] ) (case_arm pat_list: [{(-t)} {(--t)} {(--ta)} {(--tag)} {(--tags)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tags) op: Equal rhs: {(tags)} spids: [130] ) ] spids: [130] ) terminator: <Op_Semi ";"> ) (C {(shift)}) ] spids: [118 127 136 -1] ) (case_arm pat_list: [ {(-u)} {(--u)} {(--up)} {(--upl)} {(--uploa)} {(--upload)} {(--upload-)} {(--upload-p)} {(--upload-pa)} {(--upload-pac)} {(--upload-pack)} ] action: [ (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exec) op: Equal rhs: {(DQ ("--upload-pack=") ($ VSub_Number "$1"))} spids: [168] ) ] spids: [168] ) (C {(shift)}) ] spids: [139 162 176 -1] ) (case_arm pat_list: [ {(-u) (Lit_Other "=") (Lit_Other "*")} {(--u) (Lit_Other "=") (Lit_Other "*")} {(--up) (Lit_Other "=") (Lit_Other "*")} {(--upl) (Lit_Other "=") (Lit_Other "*")} {(--uplo) (Lit_Other "=") (Lit_Other "*")} {(--uploa) (Lit_Other "=") (Lit_Other "*")} {(--upload) (Lit_Other "=") (Lit_Other "*")} {(--upload-) (Lit_Other "=") (Lit_Other "*")} {(--upload-p) (Lit_Other "=") (Lit_Other "*")} {(--upload-pa) (Lit_Other "=") (Lit_Other "*")} {(--upload-pac) (Lit_Other "=") (Lit_Other "*")} {(--upload-pack) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exec) op: Equal rhs: {(--upload-pack) (Lit_Other "=") (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Number "$1"))} {(Lit_Other ":")} {(SQ <"z-[^=]*=\\(.*\\)">)} ) ] ) left_token: <Left_CommandSub "$("> spids: [234 247] ) } spids: [231] ) ] spids: [231] ) (C {(shift)}) ] spids: [179 228 251 -1] ) (case_arm pat_list: [{(--)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">) (ControlFlow token:<ControlFlow_Break break>) ] spids: [254 255 263 -1] ) (case_arm pat_list: [{(-) (Lit_Other "*")}] action: [(C {(usage)})] spids: [266 268 273 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [276 277 282 -1] ) ] spids: [86 92 285] ) ] spids: [83 287] ) ) (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [(case_arm pat_list:[{(0)}] action:[(C {(usage)})] spids:[298299303-1])] spids: [290 296 305] ) (Case to_match: {(DQ (",") ($ VSub_Name "$heads") (",") ($ VSub_Name "$tags") (","))} arms: [ (case_arm pat_list: [{(Lit_Comma ",") (Lit_Comma ",") (Lit_Comma ",")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heads) op: Equal rhs: {(heads)} spids: [325] ) (assign_pair lhs: (LhsName name:tags) op: Equal rhs: {(tags)} spids: [328] ) (assign_pair lhs: (LhsName name:other) op: Equal rhs: {(other)} spids: [331] ) ] spids: [325] ) ] spids: [320 323 334 -1] ) ] spids: [308 318 336] ) (C {(.)} {(git-parse-remote)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:peek_repo) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(get_remote_url)} {(DQ ($ VSub_At "$@"))})] ) left_token: <Left_CommandSub "$("> spids: [345 351] ) ) } spids: [343] ) ] spids: [343] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: Equal rhs: {(.ls-remote-) ($ VSub_Dollar "$$")} spids: [357] ) ] spids: [357] ) (C {(trap)} {(DQ ("rm -fr ") ($ VSub_Name "$tmp") ("-*"))} {(0)} {(1)} {(2)} {(3)} {(15)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpdir) op: Equal rhs: {($ VSub_Name "$tmp") (-d)} spids: [379] ) ] spids: [379] ) (Pipeline children: [ (Case to_match: {(DQ ($ VSub_Name "$peek_repo"))} arms: [ (case_arm pat_list: [ {(http) (Lit_Other ":") (//) (Lit_Other "*")} {(https) (Lit_Other ":") (//) (Lit_Other "*")} {(ftp) (Lit_Other ":") (//) (Lit_Other "*")} ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$GIT_SSL_NO_VERIFY"))} {(-o)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--bool)} {(http.sslVerify)})] ) left_token: <Left_CommandSub "$("> spids: [429 437] ) ) } {(Lit_Other "=")} {(false)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:curl_extra_args) op: Equal rhs: {(DQ (-k))} spids: [450] ) ] spids: [450] ) ] spids: [-1 447] ) ] spids: [-1 456] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$GIT_CURL_FTP_NO_EPSV"))} {(-o)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(config)} {(--bool)} {(http.noEPSV)})] ) left_token: <Left_CommandSub "$("> spids: [474 482] ) ) } {(Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:curl_extra_args) op: Equal rhs: {(DQ (${ VSub_Name curl_extra_args) (" --disable-epsv"))} spids: [495] ) ] spids: [495] ) ] spids: [-1 492] ) ] spids: [-1 504] ) (AndOr children: [ (C {(curl)} {(-nsf)} {($ VSub_Name "$curl_extra_args")} {(--header)} {(DQ ("Pragma: no-cache"))} {(DQ ($ VSub_Name "$peek_repo") (/info/refs))} ) (C {(echo)} {(DQ ("failed\tslurping"))}) ] op_id: Op_DPipe ) ] spids: [392 411 534 -1] ) (case_arm pat_list: [{(rsync) (Lit_Other ":") (//) (Lit_Other "*")}] action: [ (AndOr children: [ (C {(mkdir)} {($ VSub_Name "$tmpdir")}) (AndOr children: [ (C {(rsync)} {(-rlq)} {(DQ ($ VSub_Name "$peek_repo") (/HEAD))} {($ VSub_Name "$tmpdir")} ) (AndOr children: [ (C {(rsync)} {(-rq)} {(DQ ($ VSub_Name "$peek_repo") (/refs))} {($ VSub_Name "$tmpdir")} ) (BraceGroup children: [(C {(echo)} {(DQ ("failed\tslurping"))}) (C {(exit)})] spids: [579] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ ($ VSub_Name "$tmpdir") (/HEAD))})] ) left_token: <Left_CommandSub "$("> spids: [596 603] ) } spids: [595] ) ] spids: [595] ) (AndOr children: [ (Case to_match: {(DQ ($ VSub_Name "$head"))} arms: [ (case_arm pat_list: [{(ref) (Lit_Other ":") (SQ <" ">) (Lit_Other "*")}] action: [ (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Name "$head"))} {(Lit_Other ":")} {(SQ <"zref: \\(.*\\)">)} ) ] ) left_token: <Left_CommandSub "$("> spids: [627 640] ) } spids: [626] ) ] spids: [626] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} { (DQ ($ VSub_Name "$tmpdir") (/) ($ VSub_Name "$head") ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [646 654] ) } spids: [645] ) ] spids: [645] ) (C {(exit)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [617 623 -1 661] ) ] spids: [608 614 661] ) (C {(echo)} {(DQ ($ VSub_Name "$head") ("\tHEAD"))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (Subshell child: (AndOr children: [ (C {(cd)} {($ VSub_Name "$tmpdir")}) (C {(find)} {(refs)} {(-type)} {(f)}) ] op_id: Op_DAmp ) spids: [674 688] ) (While cond: [(C {(read)} {(path)})] body: (DoGroup children: [ (SimpleCommand words: [{(tr)} {(-d)} {(SQ <"\\012">)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$tmpdir") (/) ($ VSub_Name "$path"))} spids: [711] ) ] ) (C {(echo)} {(DQ ("\t") ($ VSub_Name "$path"))}) ] spids: [700 727] ) ) ] negated: False ) (C {(rm)} {(-fr)} {($ VSub_Name "$tmpdir")}) ] op_id: Op_DAmp ) ] spids: [537 542 739 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-f)} {(DQ ($ VSub_Name "$peek_repo"))}) terminator: <Op_Semi ";"> ) ] action: [ (AndOr children: [ (C {(git)} {(bundle)} {(list-heads)} {(DQ ($ VSub_Name "$peek_repo"))}) (C {(echo)} {(DQ ("failed\tslurping"))}) ] op_id: Op_DPipe ) ] spids: [-1 759] ) ] else_action: [ (AndOr children: [ (C {(git-peek-remote)} {($ VSub_Name "$exec")} {(DQ ($ VSub_Name "$peek_repo"))}) (C {(echo)} {(DQ ("failed\tslurping"))}) ] op_id: Op_DPipe ) ] spids: [782 803] ) ] spids: [742 744 806 -1] ) ] spids: [384 390 808] ) (C {(sort)} {(-t)} {(SQ <"\t">)} {(-k)} {(2)}) (While cond: [(C {(read)} {(sha1)} {(path)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name "$sha1"))} arms: [ (case_arm pat_list: [{(failed)}] action: [(C {(exit)} {(1)})] spids: [846 847 854 -1] ) ] spids: [837 843 857] ) (Case to_match: {(DQ ($ VSub_Name "$path"))} arms: [ (case_arm pat_list: [{(refs/heads/) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:group) op: Equal rhs: {(heads)} spids: [874] ) ] spids: [874] ) ] spids: [869 871 877 -1] ) (case_arm pat_list: [{(refs/tags/) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:group) op: Equal rhs: {(tags)} spids: [885] ) ] spids: [885] ) ] spids: [880 882 888 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:group) op: Equal rhs: {(other)} spids: [895] ) ] spids: [895] ) ] spids: [891 892 898 -1] ) ] spids: [860 866 901] ) (Case to_match: { (DQ (",") ($ VSub_Name "$heads") (",") ($ VSub_Name "$tags") (",") ($ VSub_Name "$other") (",") ) } arms: [ (case_arm pat_list: [ {(Lit_Other "*") (Lit_Comma ",") ($ VSub_Name "$group") (Lit_Comma ",") (Lit_Other "*") } ] spids: [919 924 927 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [930 931 935 -1] ) ] spids: [904 916 938] ) (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(0)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(yes)} spids: [954] ) ] spids: [954] ) ] spids: [950 951 957 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(no)} spids: [964] ) ] spids: [964] ) (ForEach iter_name: pat do_arg_iter: True body: (DoGroup children: [ (Case to_match: {(DQ (/) ($ VSub_Name "$path"))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (/) ($ VSub_Name "$pat")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(yes)} spids: [993] ) ] spids: [993] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [986 990 999 -1] ) ] spids: [976 983 1002] ) ] spids: [973 1005] ) spids: [-1 -1] ) ] spids: [960 961 -1 1008] ) ] spids: [941 947 1008] ) (Case to_match: {(DQ ($ VSub_Name "$match"))} arms: [ (case_arm pat_list: [{(no)}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1020 1021 1026 -1] ) ] spids: [1011 1017 1029] ) (C {(echo)} {(DQ ($ VSub_Name "$sha1") ("\t") ($ VSub_Name "$path"))}) ] spids: [834 1040] ) ) ] negated: False ) ] )