]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5317: demonstrate failure to handle multiple --filter options
authorRené Scharfe <l.s.r@web.de>
Tue, 29 Nov 2022 12:22:26 +0000 (13:22 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 30 Nov 2022 01:00:32 +0000 (10:00 +0900)
git pack-objects should accept multiple --filter options as documented
in Documentation/rev-list-options.txt, but currently the last one wins.
Show that using tests with multiple blob size limits

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5317-pack-objects-filter-objects.sh

index 82a22ecaa5445dcc35c08cd8a65f8a7fdc337e8f..25faebaada89af482ec14ff5ff2e1cd9a673a84a 100755 (executable)
@@ -265,6 +265,44 @@ test_expect_success 'verify normal and blob:limit packfiles have same commits/tr
        test_cmp expected observed
 '
 
+test_expect_failure 'verify small limit and big limit results in small limit' '
+       git -C r2 ls-files -s large.1000 >ls_files_result &&
+       test_parse_ls_files_stage_oids <ls_files_result |
+       sort >expected &&
+
+       git -C r2 pack-objects --revs --stdout --filter=blob:limit=1001 \
+               --filter=blob:limit=10001 >filter.pack <<-EOF &&
+       HEAD
+       EOF
+       git -C r2 index-pack ../filter.pack &&
+
+       git -C r2 verify-pack -v ../filter.pack >verify_result &&
+       grep blob verify_result |
+       parse_verify_pack_blob_oid |
+       sort >observed &&
+
+       test_cmp expected observed
+'
+
+test_expect_success 'verify big limit and small limit results in small limit' '
+       git -C r2 ls-files -s large.1000 >ls_files_result &&
+       test_parse_ls_files_stage_oids <ls_files_result |
+       sort >expected &&
+
+       git -C r2 pack-objects --revs --stdout --filter=blob:limit=10001 \
+               --filter=blob:limit=1001 >filter.pack <<-EOF &&
+       HEAD
+       EOF
+       git -C r2 index-pack ../filter.pack &&
+
+       git -C r2 verify-pack -v ../filter.pack >verify_result &&
+       grep blob verify_result |
+       parse_verify_pack_blob_oid |
+       sort >observed &&
+
+       test_cmp expected observed
+'
+
 # Test sparse:path=<path> filter.
 # !!!!
 # NOTE: sparse:path filter support has been dropped for security reasons,