Re: [PATCH v3 00/30] pack-bitmap: pseudo-merge reachability bitmaps
- From
Jeff King <peff@peff.net>
- Date
- May 25, 2024, 03:15 UTC
- Message-ID
- <20240525031516.GB1889620@coredump.intra.peff.net>
- In-Reply-To
- <Zk+hP++s/Pz+yym4@nand.local>
On Thu, May 23, 2024 at 04:04:15PM -0400, Taylor Blau wrote:
Show 19 quoted lines
> 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.
Ah, yeah, I didn't think of that. That definitely complicates things.
It certainly would be possible to have a version+size header at the start. Which is...basically reinventing the chunk format. Let's not worry about it for now, and as a long-term thing we might consider moving the bitmap format over to the chunk style.
-Peff