Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
t/perf/lib-pack: use fast-import checkpoint to create packs
author
Jeff King
<peff@peff.net>
Mon, 20 Nov 2017 20:27:19 +0000
(15:27 -0500)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 21 Nov 2017 02:07:28 +0000
(11:07 +0900)
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>
t/perf/lib-pack.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
aa338d3
)
diff --git
a/t/perf/lib-pack.sh
b/t/perf/lib-pack.sh
index 501bb7b272fed1be997e0c357c18e1bb19895bca..d3865db286fc644e3a6dc20a2e8932695b35df2a 100644
(file)
--- a/
t/perf/lib-pack.sh
+++ b/
t/perf/lib-pack.sh
@@
-9,15
+9,10
@@
create_packs () {
print "data <<EOF";
print "$_";
print "EOF";
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
}
# 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 &&
setup_many_packs () {
git config gc.auto 0 &&
git config gc.autopacklimit 0 &&
+ git config fastimport.unpacklimit 0 &&
create_packs 500
}
create_packs 500
}