Re: [PATCH v2 3/7] packfile: extend `is_delta` field to allow for "unknown" state
- From
Toon Claes <toon@iotcl.com>
- Date
- Jan 5, 2026, 15:35 UTC
- Message-ID
- <87o6n8oyw2.fsf@iotcl.com>
- In-Reply-To
- <20251218-b4-pks-odb-read-object-info-improvements-v2-3-62e3e49072bc@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 10 quoted lines
> The `struct object_info::u::packed::is_delta` field determines whether > or not a specific object is stored as a delta. It only stores whether or > not the object is stored as delta, so it is treated as a boolean value. > > This boolean is insufficient though: when reading a packed object via > `packfile_store_read_object_info()` we know to skip parsing the actual > object when the user didn't request any object-specific data. In that > case we won't read the object itself, but will only look up its position > in the packfile. Consequently, we do not know whether it is a delta or > not.
This explains why you're introducing "unknown", but I'm having trouble understanding why we need distinction between ofs-delta and ref-delta?
(To any other reader: If you want to know what those two are, check "Deltified representation" in Documentation/gitformat-pack.adoc)
Show 7 quoted lines
> This isn't really an issue right now, as the check for an empty request > is broken. But a subsequent commit will fix it, and once we do we will > have the need to also represent an "unknown" delta state. > > Prepare for this change by introducing a new enum that encodes the > object type. We don't use the "unknown" state just yet, but will start > to do so in the next commit.
A little bit confusing this "next commit" is [PATCH 6/7], but that's a note to any other reader and not so much a nitpick worth addressing.
-- Cheers, Toon