Re: [PATCH 00/23] Preliminary pack v4 support
From: Nicolas Pitre <nico@fluxnic.net>
Date: 2016-06-15 22:58:32
On Wed, 28 Aug 2013, Duy Nguyen wrote:
On Tue, Aug 27, 2013 at 11:44 PM, Junio C Hamano [off-list ref] wrote:quoted
As you have "0-index" escape hatch for SHA-1 table, but no similar escape hatch for the people's name table, I can see why it may be cumbersome to fix a thin pack by only appending to a received packfile and updating a few header fields, though.We also need an escape hatch for path name table.
Well, right. I think this is probably the cleanest solution if we don't want to update the commit/tree dictionary table with new entries (they could simply be appended at the end). That wouldn't work for the SHA1 table though, so perhaps a secondary table for the appended objects could then be carried into the pack index file.
But what if we store appended objects in OBJ_REF_DELTA format where base ref is empty tree/commit and cached by sha1_file.c?
I don't follow you here. Missing objects need to be added to the pack, they can't be cached anywhere.
We won't need to update dictionary tables. Parsing is a bit ugly though (e.g. v3 tree with v2 base) but we have to deal with that anyway because people can have v2 and v3 packs mixed in.
Absolutely. Nicolas