Re: [PATCH 08/11] bundle: parse filter capability
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 7, 2022, 15:55 UTC
- Message-ID
- <220307.86y21lycne.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <e7dbb46e6acb5c22a0b456135f3af42b974e0268.1645638911.git.gitgitgadget@gmail.com>
On Wed, Feb 23 2022, Derrick Stolee via GitGitGadget wrote:
Show 14 quoted lines
> From: Derrick Stolee <derrickstolee@github.com>
> [...]
> static int parse_capability(struct bundle_header *header, const char *capability)
> @@ -45,6 +47,11 @@ static int parse_capability(struct bundle_header *header, const char *capability
> header->hash_algo = &hash_algos[algo];
> return 0;
> }
> + if (skip_prefix(capability, "filter=", &arg)) {
> + CALLOC_ARRAY(header->filter, 1);
> + parse_list_objects_filter(header->filter, arg);
> + return 0;
> + }
> return error(_("unknown capability '%s'"), capability);
> }[Something I should have noted in the other reply, but missed].
Before this series we just had the object-format capability, and now we have a 2nd one.
As before we'll return errors un unknown capabilities.
I think it's worthwhile to stop here & think how we think about cross-version compatibility between git versions. I.e. we're not changing the *format version* here (nor is it needed), but just adding a new capability that older gits won't know about.
I don't know if this is a case where older versions could limp along in some cases and still unbundle these, probably that's never happening?
So probably nothing needs to change here, I was just wondering *if* we had capabilities that were optional in some cases whether we shouldn't while-we're-at-it give those some prefix indicating that, and have older versions just issue a warning().
Then have them just try to call index-pack & see if that worked.
But yeah, all of that probably isn't applicable here at all :)