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

Re: [PATCH 0/2] Hiding some refs in ls-remote

From
Jeff King <peff@peff.net>
Date
Jan 19, 2013, 16:50 UTC
Message-ID
<20130119165042.GB12307@sigill.intra.peff.net>
In-Reply-To
<1358555826-11883-1-git-send-email-gitster@pobox.com>
On Fri, Jan 18, 2013 at 04:37:04PM -0800, Junio C Hamano wrote:
Show 14 quoted lines
> This is an early preview of reducing the network cost while talking
> with a repository with tons of refs, most of which are of use by
> very narrow audiences (e.g. refs under Gerrit's refs/changes/ are
> useful only for people who are interested in the changes under
> review).  As long as these narrow audiences have a way to learn the
> names of refs or objects pointed at by the refs out-of-band, it is
> not necessary to advertise these refs.
> 
> On the server end, you tell upload-pack that some refs do not have
> to be advertised with the uploadPack.hiderefs multi-valued
> configuration variable:
> 
> 	[uploadPack]
> 		hiderefs = refs/changes

Would you want to do the same thing on receive-pack? It could benefit from the same reduction in network cost (although it tends to be invoked less frequently than upload-pack).

At GitHub, we have a similar patch (we even call it hiderefs), but we do it only for receive-pack. In our case, it is not about network traffic, but rather that we provide a set of read-only refs in the refs/pull hierarchy. These are generated upstream by the creation of pull requests, and we reject any updates to them via the git protocol using a pre-receive hook.

However, if a client without these refs uses "git push --mirror", it will attempt to delete them (which will fail). Meaning that a mirror push will always report failure, because it will always fail to push the refs/pull deletions.

I don't know much about Gerrit's inner workings. Are refs/changes also read-only?

-Peff
Previous: Michael HaggertyNext: Junio C Hamano
Message 10 of 16 in “Hiding some refs in ls-remote”
  1. 0/2 Hiding some refs in ls-remoteJunio C Hamano, Jan 19, 2013
  2. 1/2 upload-pack: share more codeJunio C Hamano, Jan 19, 2013
  3. 2/2 upload-pack: allow hiding ref hiearchiesJunio C Hamano, Jan 19, 2013
  4. Duy NguyenJan 19, 2013
  5. Junio C HamanoJan 19, 2013
  6. Junio C HamanoJan 20, 2013
  7. Duy NguyenJan 21, 2013
  8. Jeff KingJan 21, 2013
  9. Michael HaggertyJan 19, 2013
  10. Jeff KingJan 19, 2013
  11. Junio C HamanoJan 20, 2013
  12. Junio C HamanoJan 20, 2013
  13. Jeff KingJan 21, 2013
  14. Junio C HamanoJan 21, 2013
  15. Jeff KingJan 21, 2013
  16. Jeff KingJan 21, 2013

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.