On Wed, Feb 23 2022, Derrick Stolee via GitGitGadget wrote: > From: Derrick Stolee <derrickstolee@xxxxxxxxxx> > [...] > 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 :)