Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: [PATCH] Introduce light weight commit annotations

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:15

Hi,

On Sun, 10 Jun 2007, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:
quoted
I do not understand... the entries of a tree object are sorted 
alphabetically, right? Including the convention that if one is a 
prefix of another, it is "smaller".

While I think that the length would not be any problem, the entries' 
names of refs/annotations/commit^{tree} are _all_ of length two, and 
point to other tree objects. _Those_ tree objects contain _only_ 
entries whose names contain exactly 38 characters.
That is ONLY true if you are introducing a specialized tree
object parser that knows it is dealing with the tree used in
your annotation scheme that has entries of uniform size.  In
such a tree parser, you could bisect or Newton-Raphson a tree
object data to find an entry more efficiently than for normal
trees with enries of variable size.
Ouch. That is a real flaw in my proposal. It completely destroys my "I 
think this will scale just fine" argument.
If that happens, "refs/annotations/commit:?{40}" format would let you 
look up an annotation for a given commit much more efficiently than 
"refs/annotations/commit:??/?{38}", because it would have to open only 
one tree object, instead of two.
Let me think that one through. At the moment I cannot think of an easy 
fix.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help