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

Is there such a thing as a git:// proxy?

From
Llinux@horizon.com <linux@horizon.com>
Date
Jun 18, 2006, 12:42 UTC
Message-ID
<20060618124250.15471.qmail@science.horizon.com>

I have several machines tracking kernel.org, and I've been moving away from downloading patch files periodically (cached very nicely by squid) to just doing "git pull".

But it seems silly to be sucking four copies of the same data from kernel.org.

Now, one obvious solution is to have one master copy track kernel.org and have all the other local machines track that. But then I have to manually pull the local master every time.

Has anyone put together something that can automatically check upstream for updates when someone fetches from it?

Ultimately desirable features would, I suppose include:
- Pulling over ssh as well (using auth agent forwarding to pull
  from upstream)
- Support for arbitrary projects (so the cache server can handle
  "git clone" requests), if I develop a desire to pull an -mm or
  -libata-dev or whatever kernel, it will also work.
- Using a single shared object pool for the above.
- Cache cleanup if a project hasn't been used in long enough.
  (You'd probably just time out the heads and let git-prune get
  rid of the objects.)
- Recycling the pack from the upstream server rather than regenerating it.
- Progress reporting on the upstream fetch (since the point is that
  the upstream server pipe is narrower).
- Transparent proxy support

... but I'll settle for the simple solution to start. Perhaps it could be as simple as a pre-upload hook invoked by git-upload-pack?

This hasn't gotten itchy enough for me to start scratching it myself, but I figured I'd mention it and see if anyone was interested.

Next: Linus Torvalds
Message 1 of 2 in “Is there such a thing as a git:// proxy?”
  1. linux@horizon.comJun 18, 2006
  2. Linus TorvaldsJun 18, 2006

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.