[WISH] Store also tag dereferences in packed-refs

From: Marco Costalba <hidden>
Date: 2016-08-11 20:07:31

Time needed to execute git-peek-remote in my box with cold cache currently is:

- git tree 2.347 ms
- linux tree 2.144 ms

And refs are *already* packed in both repos.

Looking at packed-refs file, it contains something like:

d9b0f913ce0508fcc83e642e0241f373428368e5 refs/tags/v1.4.3
4314f5982d2aac08001a977fc0b1b611e858e025 refs/tags/v1.4.3-rc1

while I would need something like git-peek-remote output,

d9b0f913ce0508fcc83e642e0241f373428368e5        refs/tags/v1.4.3
e0b0830726286287744cc9e1a629a534bbe75452        refs/tags/v1.4.3^{}
4314f5982d2aac08001a977fc0b1b611e858e025        refs/tags/v1.4.3-rc1
1965efb1599f59b8e3380335d1fa395e2008a30b        refs/tags/v1.4.3-rc1^{}

Because the sha value a tag points to is needed to match against
git-rev-list output so to identify tagged revisions.

Would be possible to store in packed-refs also the dereferenced tag
info, so that cold opening of a repository would be much faster?

Just to give an idea, with warmed up cache, refs reading times are:

- git tree 43 ms
- linux tree 28 ms

Thanks
Marco

P.S: In case it's not clear I don't suggest to read directly the
packed-refs file with the added info, but always to use
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help