(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'performance with large numbers of packs' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./perf-lib.sh)}) (C {(test_perf_large_repo)}) (command.ShFunction name: repack_into_n body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {(rm)} {(-rf)} {(staging)}) (C {(mkdir)} {(staging)}) (command.Pipeline children: [ (C {(git)} {(rev-list)} {(--first-parent)} {(HEAD)}) (C {(sed)} {(-n)} {(SQ (Token id:Id.Lit_Chars val:'1~5p' span_id:91))}) (C {(head)} {(-n)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Simple words: [ {(perl)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'print reverse <>' span_id:113))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:118) fd: -1 arg_word: {(pushes)} ) ] ) ] negated: F ) ] ) (command.Pipeline children: [ (C {(head)} {(-n)} {(1)} {(pushes)}) (C {(git)} {(pack-objects)} {(--delta-base-offset)} {(--revs)} {(staging/pack)}) ] negated: F ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: (word.Empty) spids: [154] ) ] ) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:159) cond: [(C {(read)} {(rev)})] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$last'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:178) ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$rev'))}) (C {(echo)} {(DQ ('^') ($ Id.VSub_DollarName '$last'))}) ] ) ] ) (C {(git)} {(pack-objects)} {(--delta-base-offset)} {(--revs)} {(staging/pack)} ) ] negated: F ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:222) arg_word: {(1)} ) ] ) ] spids: [169 180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$rev')} spids: [230] ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:236) fd: -1 arg_word: {(pushes)} ) ] ) (C {(rm)} {(-f)} {(.git/objects/pack/) (Id.Lit_Star '*')}) (C {(mv)} {(staging/) (Id.Lit_Star '*')} {(.git/objects/pack/)}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'simplify reachability' span_id:279))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:283) (Token id: Id.Lit_Chars val: '\ttip=$(git rev-parse --verify HEAD) &&\n' span_id: 284 ) (Token id: Id.Lit_Chars val: '\tgit for-each-ref --format="option no-deref%0adelete %(refname)" |\n' span_id: 285 ) (Token id:Id.Lit_Chars val:'\tgit update-ref --stdin &&\n' span_id:286) (Token id:Id.Lit_Chars val:'\trm -rf .git/logs &&\n' span_id:287) (Token id:Id.Lit_Chars val:'\tgit update-ref refs/heads/master $tip &&\n' span_id:288) (Token id: Id.Lit_Chars val: '\tgit symbolic-ref HEAD refs/heads/master &&\n' span_id: 289 ) (Token id:Id.Lit_Chars val:'\tgit repack -ad\n' span_id:290) ) } ) (command.ForEach iter_name: nr_packs iter_words: [{(1)} {(50)} {(1000)}] do_arg_iter: F body: (command.DoGroup children: [ (C {(test_expect_success)} {(DQ ('create ') ($ Id.VSub_DollarName '$nr_packs') ('-pack scenario'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:318) (Token id: Id.Lit_Chars val: '\t\trepack_into_n $nr_packs\n' span_id: 319 ) (Token id:Id.Lit_Chars val:'\t' span_id:320) ) } ) (C {(test_perf)} {(DQ ('rev-list (') ($ Id.VSub_DollarName '$nr_packs') (')'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:334) (Token id: Id.Lit_Chars val: '\t\tgit rev-list --objects --all >/dev/null\n' span_id: 335 ) (Token id:Id.Lit_Chars val:'\t' span_id:336) ) } ) (C {(test_perf)} {(DQ ('repack (') ($ Id.VSub_DollarName '$nr_packs') (')'))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:362) (Token id: Id.Lit_Chars val: '\t\tgit pack-objects --keep-true-parents \\\n' span_id: 363 ) (Token id:Id.Lit_Chars val:'\t\t --honor-pack-keep --non-empty --all \\\n' span_id:364) (Token id: Id.Lit_Chars val: '\t\t --reflog --indexed-objects --delta-base-offset \\\n' span_id: 365 ) (Token id:Id.Lit_Chars val:'\t\t --stdout </dev/null >/dev/null\n' span_id:366) (Token id:Id.Lit_Chars val:'\t' span_id:367) ) } ) ] ) ) (C {(test_done)}) ] )