Subject: Re: [PATCH v3 00/30] pack-bitmap: pseudo-merge reachability bitmaps

From: Taylor Blau <[email-masked]>
Date: Thu, 23 May 2024 16:04:15 -0400

On Thu, May 23, 2024 at 07:05:32AM -0400, Jeff King wrote:
> I wonder if the start of the pseudo-merge section should have a 4-byte
> version/flags field itself? I don't think that's something we've done
> before, and maybe it's overkill. I dunno. It's just a lot easier to do
> now than later.

I think the tricky thing here would be that the extension itself is a
variable size, so every version would have to put the "extension size"
field in the same place.

Otherwise, an older Git client which doesn't understand a future version
of the pseudo-merge extension wouldn't know how large the extension is,
and wouldn't be able to adjust the index_end field appropriately to skip
over it.

Of course, we could make it a convention that says "all versions have to
place the extension size field at the same relative offset", but it
feels weird to read some of the extension while not understanding the
whole thing.

I'm definitely not saying that I think the specification ought to be set
in stone forever, but I think any changes would want to be behind a new
bitmap extension, not a version within the same extension.

Thanks,
Taylor