Hi,
On Sun, 10 Jun 2007, Junio C Hamano wrote:
With the normal tree parser, the lookup for
"refs/annotations/commit:??/?{38}" you have in your code would open one
tree (the commit's tree), find the one with leading 2 hexdigits you
would want among up to 256 entries with linear search (see
tree-walk.c::find_tree_entry()), open that entry which is another tree,
and do the same linear search to find the entry with the remaining 38
hexdigits. Finding annotation for commit 0000abcd... is much less
expensive than ffff4567...
Okay, I did not find a proper solution. commit->file name via "s/../&\//g"
is too ugly. But then, I really hope that packv4 becomes unvapourware at
some stage (for other reasons), and that _should_ help these issues.
Hmm.
Ciao,
Dscho