Re: [PATCHv4 08/12] Teach the notes lookup code to parse notes trees with various fanout schemes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 27, 2009, 20:58 UTC
- Message-ID
- <7vprahq8iv.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0908271243120.7562@intel-tinevez-2-302>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 10 quoted lines
> I half-agree, the code should decide which fanout scheme to use, but > _only_ when producing new notes. > > I imagine that it could merge the existing notes, and try to make sure > that there are no more blobs in a given subtree than a certain threshold; > if that threshold is reached, it could fan-out using 2-digit subtrees, > merging what needs merging (by concatenation) along the way. > > The natural precedence of shallower paths/longer basenames should cope > well with that (i.e. prefer to show abcd/... over ab/cd/...).
Oh, if the plan for merging the trees is such that it takes care of "multiple notes pointing at the same commit" issues like you outline, then I can see it would work nicely.
At that point, fan-out would become merely an implementation detail, something the end user never needs to worry about, just like what base object is chosen to represent another object in a packfile.