Re: [PATCHv4 08/12] Teach the notes lookup code to parse notes trees with various fanout schemes
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:19
Johannes Schindelin [off-list ref] writes:
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.