(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"Tests pack performance using bitmaps">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./perf-lib.sh)}) (C {(test_perf_large_repo)}) (C {(test_expect_success)} {(SQ <"setup bitmap config">)} { (SQ <"\n"> <"\tgit config pack.writebitmaps true &&\n"> <"\tgit config pack.writebitmaphashcache true\n"> ) } ) (C {(test_perf)} {(SQ <"repack to disk">)} {(SQ <"\n"> <"\tgit repack -ad\n">)}) (C {(test_perf)} {(SQ <"simulated clone">)} {(SQ <"\n"> <"\tgit pack-objects --stdout --all </dev/null >/dev/null\n">)} ) (C {(test_perf)} {(SQ <"simulated fetch">)} { (SQ <"\n"> <"\thave=$(git rev-list HEAD~100 -1) &&\n"> <"\t{\n"> <"\t\techo HEAD &&\n"> <"\t\techo ^$have\n"> <"\t} | git pack-objects --revs --stdout >/dev/null\n"> ) } ) (C {(test_perf)} {(SQ <"pack to file">)} {(SQ <"\n"> <"\tgit pack-objects --all pack1 </dev/null >/dev/null\n">)} ) (C {(test_perf)} {(SQ <"pack to file (bitmap)">)} {(SQ <"\n"> <"\tgit pack-objects --use-bitmap-index --all pack1b </dev/null >/dev/null\n">)} ) (C {(test_expect_success)} {(SQ <"create partial bitmap state">)} { (SQ <"\n"> <"\t# pick a commit to represent the repo tip in the past\n"> <"\tcutoff=$(git rev-list HEAD~100 -1) &&\n"> <"\torig_tip=$(git rev-parse HEAD) &&\n"> <"\n"> <"\t# now kill off all of the refs and pretend we had\n"> <"\t# just the one tip\n"> <"\trm -rf .git/logs .git/refs/* .git/packed-refs &&\n"> <"\tgit update-ref HEAD $cutoff &&\n"> <"\n"> <"\t# and then repack, which will leave us with a nice\n"> <"\t# big bitmap pack of the \"old\" history, and all of\n"> <"\t# the new history will be loose, as if it had been pushed\n"> <"\t# up incrementally and exploded via unpack-objects\n"> <"\tgit repack -Ad &&\n"> <"\n"> <"\t# and now restore our original tip, as if the pushes\n"> <"\t# had happened\n"> <"\tgit update-ref HEAD $orig_tip\n"> ) } ) (C {(test_perf)} {(SQ <"clone (partial bitmap)">)} {(SQ <"\n"> <"\tgit pack-objects --stdout --all </dev/null >/dev/null\n">)} ) (C {(test_perf)} {(SQ <"pack to file (partial bitmap)">)} {(SQ <"\n"> <"\tgit pack-objects --use-bitmap-index --all pack2b </dev/null >/dev/null\n">)} ) (C {(test_done)}) ] )