Re: Make "git gc" pack all refs by default
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- May 25, 2007, 02:20 UTC
- Message-ID
- <alpine.LFD.0.98.0705241911200.26602@woody.linux-foundation.org>
- In-Reply-To
- <7vy7jdu08k.fsf@assigned-by-dhcp.cox.net>
On Thu, 24 May 2007, Junio C Hamano wrote:
> > Boy, you are a lot more aggressive than me.
Heh.
I don't like the http interfaces, so I have a much easier time saying "they were broken, deal with it" ;)
I also think that we mis-calculated earlier in assuming that prople don't have lots of branches, and that packing branches was thus much less important than packing tags.
It's true that in sane git-only environment, you don't have lots of branches (fifty isn't "lots"). But when importing things from other environments, I seem to recall people talking about thousands of branches (since they cannot be merged and they are project-wide rather than some local entity, they cannot disappear).
So I think it's better to just pack branches aggressively too, and in fact, once you do that, and http-fetch knows about it, then that also means that info/refs becomes pointless, because afaik, it doesn't actually contain anything more than what a modern "packed-refs" file contains.
So in order to take that _next_ step, we need to encourage people to pack branches, and then at some point we can hopefully just make http-fetch start ignoring info/refs..
So yeah, I think being aggressive here is a good idea. I really also wanted to make update-server-info do the pack-refs thing, but to do it properly we'd need to make the whole pack-refs thing have a nice library interface, so it was a much bigger (although probably fairly straightforward) thing.
Linus