Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Handling very large numbers of symbolic references?

From: Nix <hidden>
Date: 2016-06-15 22:42:34

On Tue, 25 Jul 2006, Rene Scharfe said:
Nix schrieb:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help