]> git.ipfire.org Git - thirdparty/git.git/commit - list-objects-filter-options.h
bundle: parse filter capability
authorDerrick Stolee <derrickstolee@github.com>
Wed, 9 Mar 2022 16:01:39 +0000 (16:01 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Mar 2022 18:25:27 +0000 (10:25 -0800)
commit105c6f14ad34b417c1e78bc9a8704dcda7b059f2
tree2030b64814e8aab14dd6cd6787ad95f3e18a0294
parent4f33a6345f2bd6e47253d1dbefd01874d895ab2e
bundle: parse filter capability

The v3 bundle format has capabilities, allowing newer versions of Git to
create bundles with newer features. Older versions that do not
understand these new capabilities will fail with a helpful warning.

Create a new capability allowing Git to understand that the contained
pack-file is filtered according to some object filter. Typically, this
filter will be "blob:none" for a blobless partial clone.

This change teaches Git to parse this capability, place its value in the
bundle header, and demonstrate this understanding by adding a message to
'git bundle verify'.

Since we will use gently_parse_list_objects_filter() outside of
list-objects-filter-options.c, make it an external method and move its
API documentation to before its declaration.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-bundle.txt
Documentation/technical/bundle-format.txt
bundle.c
bundle.h
list-objects-filter-options.c
list-objects-filter-options.h