зеркало из https://github.com/microsoft/git.git
t/perf/lib-pack: use fast-import checkpoint to create packs
We currently use fast-import only to create a large number of objects, and then run O(n) invocations of pack-objects to turn them into packs. We can do this faster by just asking fast-import to checkpoint and create a pack for each (after telling it not to turn loose tiny packs). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
aa338d3508
Коммит
0a11e40275
|
@ -9,15 +9,10 @@ create_packs () {
|
|||
print "data <<EOF";
|
||||
print "$_";
|
||||
print "EOF";
|
||||
print "checkpoint"
|
||||
}
|
||||
' "$@" |
|
||||
git fast-import &&
|
||||
|
||||
git cat-file --batch-all-objects --batch-check='%(objectname)' |
|
||||
while read sha1
|
||||
do
|
||||
echo $sha1 | git pack-objects .git/objects/pack/pack
|
||||
done
|
||||
git fast-import
|
||||
}
|
||||
|
||||
# create a large number of packs, disabling any gc which might
|
||||
|
@ -25,5 +20,6 @@ create_packs () {
|
|||
setup_many_packs () {
|
||||
git config gc.auto 0 &&
|
||||
git config gc.autopacklimit 0 &&
|
||||
git config fastimport.unpacklimit 0 &&
|
||||
create_packs 500
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче