Re: [PATCH v3 00/24] Index-v5
- From
Thomas Gummerer <t.gummerer@gmail.com>
- Date
- Aug 31, 2013, 05:23 UTC
- Message-ID
- <87vc2mo2lt.fsf@gmail.com>
- In-Reply-To
- <xmqq61uuo4dl.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 24 quoted lines
> Duy Nguyen <pclouds@gmail.com> writes: > >> On Mon, Aug 19, 2013 at 2:41 AM, Thomas Gummerer <t.gummerer@gmail.com> wrote: >> >> I'm done reviewing this version (I neglected the extension writing >> patches because after spending hours on the main write patch I don't >> want to look at them anymore :p). Now that rc period is over, with a >> partial write proof-of-concept, I think it's enough to call Junio's >> attention on the series, see if we have any chance of merging it. The >> partial write POC is needed to make sure we don't overlook anything, >> just support update-index is enough. > > I've been following the review comment threads after looking at the > patches myself when they were posted. I was hoping to see some API > improvement over the current "we (have to) have everything available > in-core in a flat array" model, which gives a lot of convenience and > IO overhead at the same time, that would make me say "yes, this > operation, that we need to do very often, will certainly be helped > by this new API, and in order to support that style of API better, > the current file format is inadequate and we do need to go to the > proposed tree like on-disk format" for at least one, but > unfortunately I haven't found any (yet). > > So...
I think the issue is a bit different. The current API, with some small additions (e.g. read_index_filtered()) works well as in-memory format, even for partial reading/writing. I will try to write a POC for partial writing to show that the current in-memory format works for this too. As Duy wrote in the other email, some API changes will be necessary to allow that, but not a big API change moving from a flat array to a tree based format.
I think it comes down to "this operation will be helped by partial loading/writing and we need this small API changes (read_index_filtered() for now, more to follow) and the index format change to be able to do that".
Does that make sense, with at least Duy's comments in the review addressed and a POC for partial writing?