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

how to fetch entire heirarchy of refs from a remote?

From
Jacob Keller <jacob.keller@gmail.com>
Date
Jan 7, 2016, 23:06 UTC
Message-ID
<CA+P7+xqexsOma5c9NfS5ma333UJV=5i1a4GhnwZuU75eaxRd=Q@mail.gmail.com>
Hi,

Say I have a repository which has a series of refs in a heirarchy such as a gerrit repository with changes specified something like:

refs/changes/96/55596/3 refs/changes/96/55596/4 refs/changes/96/57496/1 refs/changes/96/57496/2 refs/changes/96/69796/1 refs/changes/96/69796/2 refs/changes/96/71696/1 refs/changes/96/71696/2 refs/changes/97/40197/1 refs/changes/97/40197/2 refs/changes/97/40197/3 refs/changes/97/40197/4 ... refs/changes/97/71697/2 refs/changes/97/71697/3 refs/changes/98/47298/1 refs/changes/98/47298/2 refs/changes/98/47298/3 refs/changes/98/57298/1 refs/changes/98/57298/2 refs/changes/98/73598/1 refs/changes/99/44099/1 refs/changes/99/69299/1

Is it possible to specify a refspec such that all of these will be fetched? I tried doing

+refs/changes/*:refs/changes/*
but this doesn't work since the * can only be one portion of a refspec

The problem is that I would like to be able to pull all of these changes in a git mirror so that I can reduce network traffic I use to the gerrit server, by updating my local copy once and using the local copy on the other tasks I need. This is necessary since the gerrit server is (a) far away and (b) closes my connection when I have too many requests.

But, git clone --mirror and git fetch have failed to pull every ref, and only end up with heads and tags.

Regards, Jake

Next: Junio C Hamano
Message 1 of 8 in “how to fetch entire heirarchy of refs from a remote?”
  1. Jacob KellerJan 7, 2016
  2. Junio C HamanoJan 7, 2016
  3. Jacob KellerJan 7, 2016
  4. Jacob KellerJan 7, 2016
  5. Jacob KellerJan 7, 2016
  6. Junio C HamanoJan 7, 2016
  7. Jacob KellerJan 8, 2016
  8. Jacob KellerJan 7, 2016

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.