Merge branch 'nd/pack-objects-pack-struct'
"git pack-objects" needs to allocate tons of "struct object_entry" while doing its work, and shrinking its size helps the performance quite a bit. * nd/pack-objects-pack-struct: ci: exercise the whole test suite with uncommon code in pack-objects pack-objects: reorder members to shrink struct object_entry pack-objects: shrink delta_size field in struct object_entry pack-objects: shrink size field in struct object_entry pack-objects: clarify the use of object_entry::size pack-objects: don't check size when the object is bad pack-objects: shrink z_delta_size field in struct object_entry pack-objects: refer to delta objects by index instead of pointer pack-objects: move in_pack out of struct object_entry pack-objects: move in_pack_pos out of struct object_entry pack-objects: use bitfield for object_entry::depth pack-objects: use bitfield for object_entry::dfs_state pack-objects: turn type and in_pack_type to bitfields pack-objects: a bit of document about struct object_entry read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
This commit is contained in:
22
t/README
22
t/README
@ -293,6 +293,28 @@ and know what setup is needed for it. Or when you want to run
|
||||
everything up to a certain test.
|
||||
|
||||
|
||||
Running tests with special setups
|
||||
---------------------------------
|
||||
|
||||
The whole test suite could be run to test some special features
|
||||
that cannot be easily covered by a few specific test cases. These
|
||||
could be enabled by running the test suite with correct GIT_TEST_
|
||||
environment set.
|
||||
|
||||
GIT_TEST_SPLIT_INDEX=<boolean> forces split-index mode on the whole
|
||||
test suite. Accept any boolean values that are accepted by git-config.
|
||||
|
||||
GIT_TEST_FULL_IN_PACK_ARRAY=<boolean> exercises the uncommon
|
||||
pack-objects code path where there are more than 1024 packs even if
|
||||
the actual number of packs in repository is below this limit. Accept
|
||||
any boolean values that are accepted by git-config.
|
||||
|
||||
GIT_TEST_OE_SIZE=<n> exercises the uncommon pack-objects code path
|
||||
where we do not cache object size in memory and read it from existing
|
||||
packs on demand. This normally only happens when the object size is
|
||||
over 2GB. This variable forces the code path on any object larger than
|
||||
<n> bytes.
|
||||
|
||||
Naming Tests
|
||||
------------
|
||||
|
||||
|
@ -457,6 +457,11 @@ test_expect_success !PTHREADS,C_LOCALE_OUTPUT 'pack-objects --threads=N or pack.
|
||||
grep -F "no threads support, ignoring pack.threads" err
|
||||
'
|
||||
|
||||
test_expect_success 'pack-objects in too-many-packs mode' '
|
||||
GIT_TEST_FULL_IN_PACK_ARRAY=1 git repack -ad &&
|
||||
git fsck
|
||||
'
|
||||
|
||||
#
|
||||
# WARNING!
|
||||
#
|
||||
|
Reference in New Issue
Block a user