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

Re: Handling very large numbers of symbolic references?

From
Nix <nix@esperi.org.uk>
Date
Jul 25, 2006, 21:52 UTC
Message-ID
<87u055bbdb.fsf@hades.wkstn.nix>
In-Reply-To
<44C68D52.6030107@lsrfire.ath.cx>
On Tue, 25 Jul 2006, Rene Scharfe said:
Show 14 quoted lines
> Nix schrieb:
>> However, this causes a potential problem. There are tens of thousands of
>> these bugs, and the .git/refs/heads directory gets *enormous* and thus
>> the system gets terribly terribly slow (crappy old Solaris filesystem
>> syndrome).
>> 
>> It seems to me there are two ways to fix this:
>> 
>>  - restructure .git/refs/* in a similar way to .git/objects, i.e. as a
>>    one- or two-level tree.
> 
> Branch names are allowed to contain slashes, thus your porcelain is free
> to implement such a tree.  Add a slash after every two bug ID digits and
> your directories will never contain more than 100 objects.

Oh, lovely! I was *sure* I'd need to make git core changes for this, but no, the precognitive powers of the git hackers had anticipated my needs before I knew what they were!

(Now the only downside is gitweb's treatment of such heads: but looking at the code, making it skip suitably formatted heads when displaying the heads list is an utterly trivial one-liner.)

-- 
`We're sysadmins. We deal with the inconceivable so often I can clearly 
 see the need to define levels of inconceivability.' --- Rik Steenwinkel
Previous: Rene ScharfeNext: Linus Torvalds
Message 3 of 6 in “Handling very large numbers of symbolic references?”
  1. NixJul 25, 2006
  2. Rene ScharfeJul 25, 2006
  3. NixJul 25, 2006
  4. Linus TorvaldsJul 25, 2006
  5. NixJul 25, 2006
  6. Linus TorvaldsJul 25, 2006

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.