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

Specifying multiple refspecs in remote.{remote}.fetch

From
Jon Seymour <jon.seymour@gmail.com>
Date
Jun 20, 2009, 06:37 UTC
Message-ID
<2cfc40320906192337g66db81f0w92e06adfc6a189c9@mail.gmail.com>
It doesn't seem to be possible to specify multiple refspecs in a git config.
I want to do this:

remote.hub/pub/release.fetch=+refs/heads/*:refs/remotes/hub/pub/release/* +refs/tags/*:refs/tags/hub/pub/release/* remote.hub/pub/release.tagopt=--no-tags

but git fetch complains:

fatal: Invalid refspec '+refs/heads/*:refs/remotes/hub/pub/release/* +refs/tags/*:refs/tags/hub/pub/release/*'

Now, in theory, I could use a file in remotes/ to specify multiple
Pull: lines. This works if my remote doesn't have slashes in its name,
but it doesn't work if my remote does have slashes in its name since
git doesn't recognize remote files located in sub-directories of
${GIT_DIR}/remotes.
Is it a reasonable expectation that:
* git should support multiple refspecs specified via git config?
* git should support subdirectories in ${GIT_DIR}/remotes?
BTW: the reason I want to do this is that I need to namespace the tags
and heads because I am using a "hub" repo to simplify a transport
topology for distributing a number of different spoke repos via a
smaller number of hub repos. Since I can't guarantee the branches and
tags of each spoke repo will be globally unique, I need to namespace
both the heads and the tags and a path-like naming convention for each
spoke repo seems like the most natural way to do that.
jon seymour.
Next: Jakub Narebski
Message 1 of 3 in “Specifying multiple refspecs in remote.{remote}.fetch”
  1. Jon SeymourJun 20, 2009
  2. Jakub NarebskiJun 20, 2009
  3. Jon SeymourJun 20, 2009

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.