On Jul 31, 2008, at 11:39 AM, Jon Loeliger wrote:
Tom Werner wrote:
The problem is that I'm only a casual C coder. It takes me a while to
figure out what's going on in the git source. We needed a way to
serve
public git repositories from a hashed directory structure (e.g.
/a/b/c/user/repo.git) and we needed it fast.
I'm not exactly sure what you mean by "hashed directory structure",
but I suspect that your goal is some form of virtualized hosting
that allows for directory names to be dynamically constructed with
a component that appears to be the user name.
Wouldn't the --interpolated-path ability of git-daemon either
directly or with minor modifications directly support that?
Tom, correct me if I'm wrong, but my understanding of this is that,
with GFS, they were running into the problem of too many dirents in
one directory, thus causing lots of stability problems (GFS has a far
lower limit than other filesystems in this regard). So the GitHub guys
had to switch to a directory sharding structure (similar to how the
git objects db uses the first 2 characters of the hash as the dir
name) to split this up and keep the numbers manageable. However, they
still had to support the old git://github.com/user/project.git paths.
-Kevin Ballard
--
Kevin Ballard
http://kevin.sb.org
kevin@xxxxxx
http://www.tildesoft.com
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html