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

Re: .git/info/refs

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 24, 2007, 17:20 UTC
Message-ID
<Pine.LNX.4.63.0701241817240.22628@wbgn013.biozentrum.uni-wuerzburg.de>
In-Reply-To
<ep83m2$mts$1@sea.gmane.org>
Hi,
On Wed, 24 Jan 2007, Jakub Narebski wrote:
Show 15 quoted lines
> H. Peter Anvin wrote:
> 
> > Johannes Schindelin wrote:
> >> 
> >> Granted, for some things this might work. However, I would not wreak havoc 
> >> by changing the format of .git/info/refs, rather put the details you 
> >> wanted into .git/info/refs-details.
> > 
> > It's not clear to me if it would be wrecking havoc.  After all, if a 
> > format can't be expanded *at all*, there is something wrong, and adding 
> > things to the end of a line is a common structured way of expansion. 
> > Hence the original query
> 
> 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.
Exactly.
Show 5 quoted lines
> 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

You completely lost me there. A push (update) is done as a specific user, who should not be able to write to a _global_ file!

Nevertheless, "24175 calls to git" is sure as hell more expensive than "reading 24175 files".

Plus, if we integrate the functionality to write .git/info/refs-details into update-server-info, you can reduce that further: it is no longer per-branch, but per-repo.

Ciao, Dscho

Previous: Jakub NarebskiNext: H. Peter Anvin
Message 12 of 39 in “.git/info/refs”
  1. H. Peter AnvinJan 24, 2007
  2. Jakub NarebskiJan 24, 2007
  3. H. Peter AnvinJan 24, 2007
  4. Johannes SchindelinJan 24, 2007
  5. H. Peter AnvinJan 24, 2007
  6. Johannes SchindelinJan 24, 2007
  7. H. Peter AnvinJan 24, 2007
  8. Johannes SchindelinJan 24, 2007
  9. H. Peter AnvinJan 24, 2007
  10. Jakub NarebskiJan 24, 2007
  11. Jakub NarebskiJan 24, 2007
  12. Johannes SchindelinJan 24, 2007
  13. H. Peter AnvinJan 25, 2007
  14. Jakub NarebskiJan 26, 2007
  15. Junio C HamanoJan 26, 2007
  16. H. Peter AnvinJan 26, 2007
  17. Jakub NarebskiJan 26, 2007
  18. Johannes SchindelinJan 26, 2007
  19. H. Peter AnvinJan 26, 2007
  20. H. Peter AnvinJan 26, 2007
  21. Jakub NarebskiJan 24, 2007
  22. hpa@zytor.comJan 24, 2007
  23. Johannes SchindelinJan 25, 2007
  24. H. Peter AnvinJan 25, 2007
  25. Johannes SchindelinJan 25, 2007
  26. hpa@zytor.comJan 24, 2007
  27. Junio C HamanoJan 25, 2007
  28. H. Peter AnvinJan 25, 2007
  29. Junio C HamanoJan 25, 2007
  30. H. Peter AnvinJan 25, 2007
  31. Johannes SchindelinJan 25, 2007
  32. H. Peter AnvinJan 27, 2007
  33. Santi BéjarJan 31, 2007
  34. Johannes SchindelinFeb 1, 2007
  35. H. Peter AnvinFeb 1, 2007
  36. Johannes SchindelinFeb 1, 2007
  37. H. Peter AnvinFeb 1, 2007
  38. Matthias LederhoferFeb 1, 2007
  39. H. Peter AnvinFeb 1, 2007

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.