]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t6500: extract objects with "17" prefix
authorPatrick Steinhardt <ps@pks.im>
Mon, 25 Mar 2024 10:03:28 +0000 (11:03 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 Mar 2024 16:54:07 +0000 (09:54 -0700)
The ".git/obects/17/" shard is somewhat special because it is used by
git-gc(1) to estimate how many objects there are by extrapolating the
number of objects in that shard, only. In t6500 we thus have a hard
coded set of data that, when written to the object database, result in
blobs starting with that prefix.

We are about to need such "17"-prefixed objects in another test suite.
Extract them into "t/oid-info/hash-info" so that they can be reused by
other tests.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/oid-info/hash-info
t/t6500-gc.sh

index d0736dd1a00d59cb1774860568136e94f8d23f04..b8a5bcb187653c960d9dec38374a4cd3587c1654 100644 (file)
@@ -15,3 +15,15 @@ empty_blob sha256:473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a3037218
 
 empty_tree sha1:4b825dc642cb6eb9a060e54bf8d69288fbee4904
 empty_tree sha256:6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321
+
+blob17_1 sha1:263
+blob17_1 sha256:34
+
+blob17_2 sha1:410
+blob17_2 sha256:174
+
+blob17_3 sha1:523
+blob17_3 sha256:313
+
+blob17_4 sha1:790
+blob17_4 sha256:481
index 18fe1c25e6a04b75d2fcdf9ac0c60da04c618ba8..43d40175f8dac940cfa669605899d78b235041c1 100755 (executable)
@@ -11,23 +11,7 @@ test_expect_success 'setup' '
        # behavior, make sure we always pack everything to one pack by
        # default
        git config gc.bigPackThreshold 2g &&
-
-       # These are simply values which, when hashed as a blob with a newline,
-       # produce a hash where the first byte is 0x17 in their respective
-       # algorithms.
-       test_oid_cache <<-EOF
-       obj1 sha1:263
-       obj1 sha256:34
-
-       obj2 sha1:410
-       obj2 sha256:174
-
-       obj3 sha1:523
-       obj3 sha256:313
-
-       obj4 sha1:790
-       obj4 sha256:481
-       EOF
+       test_oid_init
 '
 
 test_expect_success 'gc empty repository' '
@@ -114,8 +98,8 @@ test_expect_success 'pre-auto-gc hook can stop auto gc' '
                # We need to create two object whose sha1s start with 17
                # since this is what git gc counts.  As it happens, these
                # two blobs will do so.
-               test_commit "$(test_oid obj1)" &&
-               test_commit "$(test_oid obj2)" &&
+               test_commit "$(test_oid blob17_1)" &&
+               test_commit "$(test_oid blob17_2)" &&
 
                git gc --auto >../out.actual 2>../err.actual
        ) &&
@@ -146,13 +130,13 @@ test_expect_success 'auto gc with too many loose objects does not attempt to cre
        # We need to create two object whose sha1s start with 17
        # since this is what git gc counts.  As it happens, these
        # two blobs will do so.
-       test_commit "$(test_oid obj1)" &&
-       test_commit "$(test_oid obj2)" &&
+       test_commit "$(test_oid blob17_1)" &&
+       test_commit "$(test_oid blob17_2)" &&
        # Our first gc will create a pack; our second will create a second pack
        git gc --auto &&
        ls .git/objects/pack/pack-*.pack | sort >existing_packs &&
-       test_commit "$(test_oid obj3)" &&
-       test_commit "$(test_oid obj4)" &&
+       test_commit "$(test_oid blob17_3)" &&
+       test_commit "$(test_oid blob17_4)" &&
 
        git gc --auto 2>err &&
        test_grep ! "^warning:" err &&