git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C Hamano
Message 4 of 4 in “Make "git gc" pack all refs by default”
  1. Linus TorvaldsMay 24, 2007
  2. Johannes SchindelinMay 24, 2007
  3. Junio C HamanoMay 25, 2007
  4. Linus TorvaldsMay 25, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.