summaryrefslogtreecommitdiff
path: root/t/perf/p5550-fetch-tags.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-11-20 20:26:43 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-11-21 02:07:12 (GMT)
commitaa338d35087fdfc268d6f386a40464056acc6237 (patch)
treef370d1f1dc6f6b2bbbb5855108d9808bdff88cc8 /t/perf/p5550-fetch-tags.sh
parentfc849d8d6b90e5c1e0c37bc0d60dd92b2fe7347f (diff)
downloadgit-aa338d35087fdfc268d6f386a40464056acc6237.zip
git-aa338d35087fdfc268d6f386a40464056acc6237.tar.gz
git-aa338d35087fdfc268d6f386a40464056acc6237.tar.bz2
p5550: factor out nonsense-pack creation
We have a function to create a bunch of irrelevant packs to measure the expense of reprepare_packed_git(). Let's make that available to other perf scripts. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/perf/p5550-fetch-tags.sh')
-rwxr-xr-xt/perf/p5550-fetch-tags.sh25
1 files changed, 2 insertions, 23 deletions
diff --git a/t/perf/p5550-fetch-tags.sh b/t/perf/p5550-fetch-tags.sh
index a5dc39f..d0e0e01 100755
--- a/t/perf/p5550-fetch-tags.sh
+++ b/t/perf/p5550-fetch-tags.sh
@@ -20,6 +20,7 @@ start to show a noticeable performance problem on my machine, but without
taking too long to set up and run the tests.
'
. ./perf-lib.sh
+. "$TEST_DIRECTORY/perf/lib-pack.sh"
# make a long nonsense history on branch $1, consisting of $2 commits, each
# with a unique file pointing to the blob at $2.
@@ -44,26 +45,6 @@ create_tags () {
git update-ref --stdin
}
-# create $1 nonsense packs, each with a single blob
-create_packs () {
- perl -le '
- my ($n) = @ARGV;
- for (1..$n) {
- print "blob";
- print "data <<EOF";
- print "$_";
- print "EOF";
- }
- ' "$@" |
- 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
-}
-
test_expect_success 'create parent and child' '
git init parent &&
git -C parent commit --allow-empty -m base &&
@@ -84,9 +65,7 @@ test_expect_success 'populate parent tags' '
test_expect_success 'create child packs' '
(
cd child &&
- git config gc.auto 0 &&
- git config gc.autopacklimit 0 &&
- create_packs 500
+ setup_many_packs
)
'