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