(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIONS_KEEPDASHDASH) op:Equal rhs:{(SQ )} spids:[13])] spids: [13] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTIONS_SPEC) op: Equal rhs: { (DQ ("git repack [options]\n") ("--\n") ("a pack everything in a single pack\n") ("A same as -a, and turn unreachable objects loose\n") ("d remove redundant packs, and run git-prune-packed\n") ("f pass --no-reuse-delta to git-pack-objects\n") ("F pass --no-reuse-object to git-pack-objects\n") ("n do not run git-update-server-info\n") ("q,quiet be quiet\n") ("l pass --local to git-pack-objects\n") ("unpack-unreachable= with -A, do not loosen objects older than this\n") (" Packing constraints\n") ("window= size of the window used for delta compression\n") ("window-memory= same as the above, but limit memory size instead of entries count\n") ("depth= limits the maximum delta depth\n") ("max-pack-size= maximum size of each packfile\n") ) } spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(SQ <Yes>)} spids:[36])] spids: [36] ) (C {(.)} {(git-sh-setup)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs:(LhsName name:no_update_info) op:Equal rhs:{(SQ )} spids:[46]) (assign_pair lhs:(LhsName name:all_into_one) op:Equal rhs:{(SQ )} spids:[48]) (assign_pair lhs:(LhsName name:remove_redundant) op:Equal rhs:{(SQ )} spids:[50]) (assign_pair lhs:(LhsName name:unpack_unreachable) op:Equal rhs:{(SQ )} spids:[52]) ] spids: [46] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs:(LhsName name:local) op:Equal rhs:{(SQ )} spids:[54]) (assign_pair lhs:(LhsName name:no_reuse) op:Equal rhs:{(SQ )} spids:[56]) (assign_pair lhs:(LhsName name:extra) op:Equal rhs:{(SQ )} spids:[58]) ] spids: [54] ) (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: [{(-n)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_update_info) op: Equal rhs: {(t)} spids: [86] ) ] spids: [86] ) ] spids: [83 84 89 -1] ) (case_arm pat_list: [{(-a)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_into_one) op: Equal rhs: {(t)} spids: [95] ) ] spids: [95] ) ] spids: [92 93 98 -1] ) (case_arm pat_list: [{(-A)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_into_one) op: Equal rhs: {(t)} spids: [104] ) ] spids: [104] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:unpack_unreachable) op: Equal rhs: {(--unpack-unreachable)} spids: [108] ) ] spids: [108] ) ] spids: [101 102 111 -1] ) (case_arm pat_list: [{(--unpack-unreachable)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:unpack_unreachable) op: Equal rhs: {(DQ ("--unpack-unreachable=") ($ VSub_Number "$2"))} spids: [118] ) ] spids: [118] ) terminator: <Op_Semi ";"> ) (C {(shift)}) ] spids: [114 115 127 -1] ) (case_arm pat_list: [{(-d)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:remove_redundant) op: Equal rhs: {(t)} spids: [133] ) ] spids: [133] ) ] spids: [130 131 136 -1] ) (case_arm pat_list: [{(-q)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_QUIET) op: Equal rhs: {(t)} spids: [142] ) ] spids: [142] ) ] spids: [139 140 145 -1] ) (case_arm pat_list: [{(-f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_reuse) op: Equal rhs: {(--no-reuse-delta)} spids: [151] ) ] spids: [151] ) ] spids: [148 149 154 -1] ) (case_arm pat_list: [{(-F)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_reuse) op: Equal rhs: {(--no-reuse-object)} spids: [160] ) ] spids: [160] ) ] spids: [157 158 163 -1] ) (case_arm pat_list: [{(-l)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:local) op: Equal rhs: {(--local)} spids: [169] ) ] spids: [169] ) ] spids: [166 167 172 -1] ) (case_arm pat_list: [{(--max-pack-size)} {(--window)} {(--window-memory)} {(--depth)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extra) op: Equal rhs: { (DQ ($ VSub_Name "$extra") (" ") ($ VSub_Number "$1") ("=") ($ VSub_Number "$2") ) } spids: [185] ) ] spids: [185] ) terminator: <Op_Semi ";"> ) (C {(shift)}) ] spids: [175 182 197 -1] ) (case_arm pat_list: [{(--)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">) (ControlFlow token:<ControlFlow_Break break>) ] spids: [200 201 207 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(usage)})] spids: [210 211 215 -1] ) ] spids: [74 80 218] ) (C {(shift)}) ] spids: [71 223] ) ) (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(git)} {(config)} {(--bool)} {(repack.usedeltabaseoffset)}) (C {(echo)} {(true)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub "$("> spids: [229 243] ) ) } arms: [ (case_arm pat_list: [{(true)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extra) op: Equal rhs: {(DQ ($ VSub_Name "$extra") (" --delta-base-offset"))} spids: [252] ) ] spids: [252] ) ] spids: [248 249 258 -1] ) ] spids: [226 246 260] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PACKDIR) op: Equal rhs: {(DQ ($ VSub_Name "$GIT_OBJECT_DIRECTORY") (/pack))} spids: [263] ) ] spids: [263] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PACKTMP) op: Equal rhs: {(DQ ($ VSub_Name "$PACKDIR") (/.tmp-) ($ VSub_Dollar "$$") (-pack))} spids: [269] ) ] spids: [269] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$PACKTMP")) (-) (Lit_Other "*")}) (C {(trap)} {(SQ <"rm -f \"$PACKTMP\"-*">)} {(0)} {(1)} {(2)} {(3)} {(15)}) (Case to_match: {(DQ (",") ($ VSub_Name "$all_into_one") (","))} arms: [ (case_arm pat_list: [{(Lit_Comma ",") (Lit_Comma ",")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(SQ <"--unpacked --incremental">)} spids: [322] ) ] spids: [322] ) ] spids: [317 319 328 -1] ) (case_arm pat_list: [{(Lit_Comma ",") (t) (Lit_Comma ",")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(SQ )} spids: [336] ) (assign_pair lhs: (LhsName name:existing) op: Equal rhs: {(SQ )} spids: [338] ) ] spids: [336] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$PACKDIR"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: e iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name "$PACKDIR"))}) (Pipeline children: [ (C {(find)} {(.)} {(-type)} {(f)} {(-name)} {(SQ <"*.pack">)}) (C {(sed)} {(-e)} {(SQ <"s/^\\.\\///">)} {(-e)} {(SQ <"s/\\.pack$//">)} ) ] negated: False ) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub "$("> spids: [363 403] ) } ] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} { (DQ ($ VSub_Name "$PACKDIR") (/) ($ VSub_Name "$e") (.keep)) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(C {(Lit_Other ":")} {(keep)})] spids: [-1 425] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:existing) op: Equal rhs: {(DQ ($ VSub_Name "$existing") (" ") ($ VSub_Name "$e"))} spids: [436] ) ] spids: [436] ) ] spids: [433 444] ) ] spids: [406 447] ) spids: [362 -1] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name "$existing"))}) (AndOr children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name "$unpack_unreachable"))}) (C {(test)} {(-n)} {(DQ ($ VSub_Name "$remove_redundant"))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ($ VSub_Name "$args") (" ") (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$unpack_unreachable"))} ) (C {(tr)} {(SQ <" ">)} {(.)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [510 526] ) ) } spids: [506] ) ] spids: [506] ) ] spids: [-1 483] ) ] spids: [-1 530] ) ] spids: [-1 354] ) ] spids: [-1 533] ) ] spids: [330 333 536 -1] ) ] spids: [307 315 538] ) (AndOr children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$PACKDIR"))}) (C {(exit)})] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: { (DQ ($ VSub_Name "$args") (" ") ($ VSub_Name "$local") (" ") (BracedVarSub token: <VSub_Name GIT_QUIET> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(-q)}) spids: [560 564] ) (" ") ($ VSub_Name "$no_reuse") ($ VSub_Name "$extra") ) } spids: [554] ) ] spids: [554] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:names) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(pack-objects)} {(--keep-true-parents)} {(--honor-pack-keep)} {(--non-empty)} {(--all)} {(--reflog)} {($ VSub_Name "$args")} {(DQ ($ VSub_Name "$PACKTMP"))} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [588] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [571 594] ) } spids: [570] ) ] spids: [570] ) (C {(exit)} {(1)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$names"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [(C {(say)} {(Nothing)} {(new)} {(to)} {(pack.)})] spids: [-1 616] ) ] spids: [-1 629] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rollback) op:Equal rhs:{(SQ )} spids:[645])] spids: [645] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(SQ )} spids:[647])] spids: [647] ) (ForEach iter_name: name iter_words: [{($ VSub_Name "$names")}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: sfx iter_words: [{(pack)} {(idx)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(pack-) ($ VSub_Name "$name") (.) ($ VSub_Name "$sfx")} spids: [674] ) ] spids: [674] ) (AndOr children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name "$PACKDIR") (/) ($ VSub_Name "$file"))}) (ControlFlow token:<ControlFlow_Continue continue>) ] op_id: Op_DPipe ) (AndOr children: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$PACKDIR") (/old-) ($ VSub_Name "$file"))}) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$PACKDIR") (/) ($ VSub_Name "$file"))} {(DQ ($ VSub_Name "$PACKDIR") (/old-) ($ VSub_Name "$file"))} ) (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:failed) op: Equal rhs: {(t)} spids: [728] ) ] spids: [728] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [725] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rollback) op: Equal rhs: {(DQ ($ VSub_Name "$rollback") (" ") ($ VSub_Name "$file"))} spids: [738] ) ] spids: [738] ) ] spids: [671 746] ) spids: [665 -1] ) (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$failed"))}) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DPipe ) ] spids: [657 761] ) spids: [654 -1] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$failed"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rollback_failure) op: Equal rhs: {(SQ )} spids: [783] ) ] spids: [783] ) (ForEach iter_name: file iter_words: [{($ VSub_Name "$rollback")}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$PACKDIR") (/old-) ($ VSub_Name "$file"))} {(DQ ($ VSub_Name "$PACKDIR") (/) ($ VSub_Name "$file"))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rollback_failure) op: Equal rhs: {(DQ ($ VSub_Name "$rollback_failure") (" ") ($ VSub_Name "$file"))} spids: [815] ) ] spids: [815] ) ] op_id: Op_DPipe ) ] spids: [795 823] ) spids: [791 -1] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$rollback_failure"))})] action: [ (SimpleCommand words: [{(echo)} {(DQ ("WARNING: Some packs in use have been renamed by"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[842])] ) (SimpleCommand words: [{(echo)} {(DQ ("WARNING: prefixing old- to their name, in order to"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[852])] ) (SimpleCommand words: [{(echo)} {(DQ ("WARNING: replace them with the new version of the"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[862])] ) (SimpleCommand words: [{(echo)} {(DQ ("WARNING: file. But the operation failed, and"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[872])] ) (SimpleCommand words: [{(echo)} {(DQ ("WARNING: attempt to rename them back to their"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[882])] ) (SimpleCommand words: [{(echo)} {(DQ ("WARNING: original names also failed."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[892])] ) (SimpleCommand words: [ {(echo)} { (DQ ("WARNING: Please rename them in ") ($ VSub_Name "$PACKDIR") (" manually:") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[902])] ) (ForEach iter_name: file iter_words: [{($ VSub_Name "$rollback_failure")}] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [ {(echo)} { (DQ ("WARNING: old-") ($ VSub_Name "$file") (" -> ") ($ VSub_Name "$file") ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [926] ) ] ) ] spids: [921 937] ) spids: [917 -1] ) ] spids: [-1 837] ) ] spids: [-1 940] ) (C {(exit)} {(1)}) ] spids: [-1 780] ) ] spids: [-1 947] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fullbases) op:Equal rhs:{(SQ )} spids:[953])] spids: [953] ) (ForEach iter_name: name iter_words: [{($ VSub_Name "$names")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullbases) op: Equal rhs: {(DQ ($ VSub_Name "$fullbases") (" pack-") ($ VSub_Name "$name"))} spids: [966] ) ] spids: [966] ) (C {(chmod)} {(a-w)} {(DQ ($ VSub_Name "$PACKTMP") (-) ($ VSub_Name "$name") (.pack))}) (C {(chmod)} {(a-w)} {(DQ ($ VSub_Name "$PACKTMP") (-) ($ VSub_Name "$name") (.idx))}) (AndOr children: [ (C {(mv)} {(-f)} {(DQ ($ VSub_Name "$PACKTMP") (-) ($ VSub_Name "$name") (.pack))} {(DQ ($ VSub_Name "$PACKDIR") (/pack-) ($ VSub_Name "$name") (.pack))} ) (AndOr children: [ (C {(mv)} {(-f)} {(DQ ($ VSub_Name "$PACKTMP") (-) ($ VSub_Name "$name") (.idx))} {(DQ ($ VSub_Name "$PACKDIR") (/pack-) ($ VSub_Name "$name") (.idx))} ) (C {(exit)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [963 1042] ) spids: [960 -1] ) (ForEach iter_name: name iter_words: [{($ VSub_Name "$names")}] do_arg_iter: False body: (DoGroup children: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$PACKDIR") (/old-pack-) ($ VSub_Name "$name") (.idx))}) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$PACKDIR") (/old-pack-) ($ VSub_Name "$name") (.pack))}) ] spids: [1056 1082] ) spids: [1053 -1] ) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$remove_redundant"))} {(Lit_Other "=")} {(t)})] action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$existing"))} {(Lit_Other "]")}) ] action: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name "$PACKDIR"))}) (ForEach iter_name: e iter_words: [{($ VSub_Name "$existing")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {(DQ (" ") ($ VSub_Name "$fullbases") (" "))} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$e") (" ")) (Lit_Other "*") } ] spids: [1158 1165 1167 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$e") (.pack))} {(DQ ($ VSub_Name "$e") (.idx))} {(DQ ($ VSub_Name "$e") (.keep))} ) ] spids: [1170 1171 1192 -1] ) ] spids: [1147 1155 1195] ) ] spids: [1144 1198] ) spids: [1140 -1] ) ] op_id: Op_DAmp ) spids: [1124 1201] ) ] spids: [-1 1121] ) ] spids: [-1 1204] ) (C {(git)} {(prune-packed)} { (BracedVarSub token: <VSub_Name GIT_QUIET> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(-q)}) spids: [1211 1215] ) } ) ] spids: [-1 1101] ) ] spids: [-1 1217] ) (Case to_match: {(DQ ($ VSub_Name "$no_update_info"))} arms: [ (case_arm pat_list:[{(t)}] action:[(C {(Lit_Other ":")})] spids:[122812291233-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(git)} {(update-server-info)})] spids: [1235 1236 1242 -1] ) ] spids: [1220 1226 1244] ) ] )