From: "H. Peter Anvin" <hpa@zytor.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: .git/info/refs
Date: Thu, 25 Jan 2007 09:13:53 -0800 [thread overview]
Message-ID: <45B8E551.9020808@zytor.com> (raw)
In-Reply-To: <ep83m2$mts$1@sea.gmane.org>
Jakub Narebski wrote:
>
> I don't think it can be easily expanded. .git/info/refs is meant for
> http-fetch, and it mimics git-ls-remote / git-peek-remote output.
For heaven's sake, in computer science we can *NEVER* use the same
feature for *MORE THAN ONE THING*. If it doesn't work format-wise
that's fine, but "it's only supposed to be used by dumb transports" is
ridiculous.
> BTW. putting the info of git-for-each-ref into .git/info/refs-details
> would mean that instead of "24175 calls to git" one would need to
> read 24175 files. Perhaps the whole info needed to generate projects
> index page should be pre-generated on push (update), instead of per
> project (per repository) .git/info/refs-details
No, it should be one file per repository, not one file per ref. Why?
Obviously we don't want 24175 files to be accessed. However, a push can
only affect files for which the repository owner has permission and
which resides in the repository filespace, so it should stay inside that
space.
On kernel.org, this would reduce the load from 24175 calls to git to
reading 250 files. Although the latter is still expensive (and will
probably need post-generation caching) the files should be small and
cacheable by the kernel, and the resulting I/O load should be quite small.
Anyway, as far as git-update-server-index is concerned, I'm *very*
concerned that there be a single command that updates all the cached
information across the repository. Telling everyone to update their
hooks every time we want to add cached information is silly. Right now,
git-update-server-index is the command to update cached information, and
for usability reasons there should be a single entry point.
-hpa
next prev parent reply other threads:[~2007-01-25 17:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-24 7:38 .git/info/refs H. Peter Anvin
2007-01-24 9:28 ` .git/info/refs Jakub Narebski
2007-01-24 15:55 ` .git/info/refs H. Peter Anvin
2007-01-24 16:02 ` .git/info/refs Johannes Schindelin
2007-01-24 16:24 ` .git/info/refs H. Peter Anvin
2007-01-24 16:38 ` .git/info/refs Johannes Schindelin
2007-01-24 16:41 ` .git/info/refs H. Peter Anvin
2007-01-24 16:52 ` .git/info/refs Johannes Schindelin
2007-01-24 17:06 ` .git/info/refs H. Peter Anvin
2007-01-24 17:25 ` .git/info/refs Jakub Narebski
2007-01-24 17:10 ` .git/info/refs Jakub Narebski
2007-01-24 17:20 ` .git/info/refs Johannes Schindelin
2007-01-25 17:13 ` H. Peter Anvin [this message]
2007-01-26 11:22 ` .git/info/refs Jakub Narebski
2007-01-26 11:41 ` .git/info/refs Junio C Hamano
2007-01-26 16:39 ` .git/info/refs H. Peter Anvin
2007-01-26 17:06 ` .git/info/refs Jakub Narebski
2007-01-26 21:09 ` .git/info/refs Johannes Schindelin
2007-01-26 21:32 ` .git/info/refs H. Peter Anvin
2007-01-26 21:54 ` .git/info/refs H. Peter Anvin
2007-01-24 20:40 ` .git/info/refs Jakub Narebski
2007-01-24 20:44 ` .git/info/refs hpa
2007-01-25 8:14 ` .git/info/refs Johannes Schindelin
2007-01-25 16:12 ` .git/info/refs H. Peter Anvin
2007-01-25 16:50 ` .git/info/refs Johannes Schindelin
2007-01-24 20:45 ` .git/info/refs hpa
2007-01-25 21:28 ` .git/info/refs Junio C Hamano
2007-01-25 21:37 ` .git/info/refs H. Peter Anvin
2007-01-25 21:51 ` .git/info/refs Junio C Hamano
2007-01-25 22:01 ` .git/info/refs H. Peter Anvin
2007-01-25 23:33 ` .git/info/refs Johannes Schindelin
2007-01-27 22:07 ` .git/info/refs H. Peter Anvin
2007-01-31 15:38 ` .git/info/refs Santi Béjar
2007-02-01 14:03 ` .git/info/refs Johannes Schindelin
2007-02-01 16:16 ` .git/info/refs H. Peter Anvin
2007-02-01 16:52 ` .git/info/refs Johannes Schindelin
2007-02-01 16:56 ` .git/info/refs H. Peter Anvin
2007-02-01 17:32 ` .git/info/refs Matthias Lederhofer
2007-02-01 17:51 ` .git/info/refs H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45B8E551.9020808@zytor.com \
--to=hpa@zytor.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.